Forráskód Böngészése

[bugfix] emoji fallback

B Thibault 8 éve
szülő
commit
ccdfd2ca56
3 módosított fájl, 8 hozzáadás és 8 törlés
  1. 1 1
      cli/msgFormatter
  2. 1 2
      cli/uiMessage.js
  3. 6 5
      srv/public/slack.min.js

+ 1 - 1
cli/msgFormatter

@@ -1 +1 @@
-Subproject commit 3ca4c0922e048bea3f1eb1eece3ce05009f4cbbf
+Subproject commit 8154ba5cdf545c82314ab8dc1b6641083fe0b986

+ 1 - 2
cli/uiMessage.js

@@ -103,7 +103,6 @@ var AbstractUiMessage = (function() {
         return formatText(text, {
             highlight: [ "fromage" ],
             emojiFormatFunction: function(emoji) {
-                var emojiSrc = emoji;
                 if (emoji[0] === ':' && emoji[emoji.length -1] === ':')
                     emoji = emoji.substr(1, emoji.length -2);
                 var emojiDom = makeEmojiDom(emoji);
@@ -113,7 +112,7 @@ var AbstractUiMessage = (function() {
                     domParent.appendChild(emojiDom);
                     return domParent.outerHTML;
                 }
-                return emojiSrc;
+                return null;
             },
             linkFilter: linkFilter
         });

+ 6 - 5
srv/public/slack.min.js

@@ -16,9 +16,10 @@ function(a){if("<"===this.a&&">"===h[a])return!0;var b=c(h[a-1]);if(!this.f&&h.s
 a.i=[a.g]);return a};b.prototype.Ca=function(a){return this.l&&(" "===h[a]||"\t"===h[a])||(this.l||this.X||this.ea||this.ja||this.Y||this.fa)&&"\n"===h[a]?!1:!0};b.prototype.Da=function(b){if(this.fa||this.l||this.ta||this.X)return null;if(!this.g||this.g.b||this.g instanceof a){var d=c(h[b+1]);if("```"===h.substr(b,3))return"```";var e=g.da();if(void 0===e||e){if("&gt;"===h.substr(b,4))return"&gt;";if(">"===h[b])return h[b]}if(-1!==["`","\n"].indexOf(h[b])||-1!==["*","~","-","_"].indexOf(h[b])&&
 (d||-1!=="*~-_<&".split("").indexOf(h[b+1]))||-1!==[":"].indexOf(h[b])&&d||-1!==["<"].indexOf(h[b]))return h[b];d=0;for(e=m.C.length;d<e;d++){var k=m.C[d];if(h.substr(b,k.length)===k)return k}}return null};a.prototype.da=function(){if(""!==this.text.trim())return!1};b.prototype.da=function(){for(var a=this.i.length-1;0<=a;a--){var b=this.i[a].da();if(void 0!==b)return b}if(this.ga||this.f)return!0};a.prototype.j=function(a){this.text+=h[a];return 1};b.prototype.j=function(c){var d=this.g&&!this.g.b&&
 this.g.ra?this.g.ra(c):null;if(d){var e=this.g.a.length;this.g.ka(c);d instanceof b&&(this.g=d,this.i.push(d));return e}if(!this.g||this.g.b||this.g instanceof a||this.g.Ca(c)){if(d=this.Da(c))return this.g=new b(this,c,d),this.i.push(this.g),this.g.a.length;if(!this.g||this.g.b)this.g=new a(this),this.i.push(this.g);return this.g.j(c)}d=this.g.N+1;g.s(this.g.N);this.g=new a(this);this.g.j(d-1);this.i.pop();this.i.push(this.g);return d-c};b.prototype.ka=function(a){for(var b=this;b;)b.b=a,b=b.Z};
-b.prototype.s=function(a){this.b&&this.b>=a&&(this.b=!1);this.i.forEach(function(c){c instanceof b&&c.s(a)})};a.prototype.innerHTML=function(){if(this.h.ca()){for(var a=this.h;a&&!a.l;)a=a.h;return a?m.S(a.a+this.text+a.a):m.S(this.text)}return this.h.A()?this.text.replace(/\n/g,"<br/>"):m.W(this.text)};a.prototype.outerHTML=function(){var a="span",b=[],c="";if(this.h.A()){b.push("codeblock");var d=this.innerHTML()}else this.h.ma()?(b.push("code"),d=this.innerHTML()):(this.h.X?(d=m.U(this.text),a=
-"a",c=' href="'+d.link+'"',d.Ta&&(c+=' target="_blank"'),d=m.W(d.text)):d=this.innerHTML(),this.h.la()&&b.push("bold"),this.h.oa()&&b.push("italic"),this.h.pa()&&b.push("strike"),this.h.ca()&&b.push("emoji"),this.h.na()&&b.push("highlight"));return"<"+a+c+(b.length?' class="'+b.join(" ")+'"':"")+">"+d+"</"+a+">"};b.prototype.outerHTML=function(){var a="";this.f&&(a+='<span class="quote">');this.ga&&(a+="<br/>");this.i.forEach(function(b){a+=b.outerHTML()});this.f&&(a+="</span>");return a};b.prototype.sa=
-function(a){this.f&&!this.b&&this.ka(a);this.i.forEach(function(c){c instanceof b&&c.sa(a)})};return function(c,n){n||(n={});m.C=n.C||[];m.S=n.S||f;m.W=n.W||f;m.U=n.U||k;h=c;g=new b(this,0);n=0;c=h.length;do{for(;n<c;)n+=g.j(n);g.sa(h.length);if(n=d()){e(n,!1);g.s(n.N);var l=new a(n.h);l.j(n.N);n.h.i.push(l);n.h.g=l;n=n.N+1}else n=void 0}while(void 0!==n);return g.outerHTML()}}();window._formatText=function(a,b){return K(a,{C:b?b.highlights:void 0})};"undefined"!==typeof module&&(module.K.w=K);function ha(a,b){this.f=a;this.content=b;this.c=ia(this);this.b=ja(this);this.a=[];this.j=[]}
+b.prototype.s=function(a){this.b&&this.b>=a&&(this.b=!1);this.i.forEach(function(c){c instanceof b&&c.s(a)})};a.prototype.innerHTML=function(){var a;if(this.h.ca()){for(a=this.h;a&&!a.l;)a=a.h;if(a){var b=a.a+this.text+a.a;return(a=m.S(b))?a:b}return(a=m.S(this.text))?a:this.text}return this.h.A()?this.text.replace(/\n/g,"<br/>"):m.W(this.text)};a.prototype.outerHTML=function(){var a="span",b=[],c="";if(this.h.A()){b.push("codeblock");var d=this.innerHTML()}else this.h.ma()?(b.push("code"),d=this.innerHTML()):
+(this.h.X?(d=m.U(this.text),a="a",c=' href="'+d.link+'"',d.Ta&&(c+=' target="_blank"'),d=m.W(d.text)):d=this.innerHTML(),this.h.la()&&b.push("bold"),this.h.oa()&&b.push("italic"),this.h.pa()&&b.push("strike"),this.h.ca()&&b.push("emoji"),this.h.na()&&b.push("highlight"));return"<"+a+c+(b.length?' class="'+b.join(" ")+'"':"")+">"+d+"</"+a+">"};b.prototype.outerHTML=function(){var a="";this.f&&(a+='<span class="quote">');this.ga&&(a+="<br/>");this.i.forEach(function(b){a+=b.outerHTML()});this.f&&(a+=
+"</span>");return a};b.prototype.sa=function(a){this.f&&!this.b&&this.ka(a);this.i.forEach(function(c){c instanceof b&&c.sa(a)})};return function(c,n){n||(n={});m.C=n.C||[];m.S=n.S||f;m.W=n.W||f;m.U=n.U||k;h=c;g=new b(this,0);n=0;c=h.length;do{for(;n<c;)n+=g.j(n);g.sa(h.length);if(n=d()){e(n,!1);g.s(n.N);var l=new a(n.h);l.j(n.N);n.h.i.push(l);n.h.g=l;n=n.N+1}else n=void 0}while(void 0!==n);return g.outerHTML()}}();window._formatText=function(a,b){return K(a,{C:b?b.highlights:void 0})};
+"undefined"!==typeof module&&(module.K.w=K);function ha(a,b){this.f=a;this.content=b;this.c=ia(this);this.b=ja(this);this.a=[];this.j=[]}
 function ia(a){var b=document.createElement("div"),c=document.createElement("header"),d=document.createElement("span"),e=document.createElement("span"),f=document.createElement("div"),k=document.createElement("footer");b.a=document.createElement("span");b.b=document.createElement("span");d.textContent=a.f;"string"==typeof a.content?f.innerHTML=a.content:f.appendChild(a.content);c.className=ka;d.className=ma;e.className=na;e.textContent="x";c.appendChild(d);c.appendChild(e);b.appendChild(c);f.className=
 oa;b.appendChild(f);b.b.className=pa;b.b.textContent=J.va;b.b.addEventListener("click",function(){M(a,!1)});e.addEventListener("click",function(){M(a,!1)});b.a.addEventListener("click",function(){M(a,!0)});k.appendChild(b.b);b.a.className=pa;b.a.textContent=J.ok;k.appendChild(b.a);k.className=qa+" "+ra;b.appendChild(k);b.className=sa;return b}function M(a,b){(b?a.a:a.j).forEach(function(a){a()});a.close()}
 function ja(a){var b=document.createElement("div");b.className=ta;b.addEventListener("click",function(){M(this,!1)}.bind(a));return b}function ua(a,b,c){a.c.a.textContent=b;a.c.b.textContent=c;return a}ha.prototype.V=function(a){a=a||document.body;a.appendChild(this.b);a.appendChild(this.c);return this};ha.prototype.close=function(){this.c.remove();this.b.remove();return this};function va(a,b){a.a.push(b);return a};var pa="button",qa="button-container",sa="dialog",ta="dialog-overlay",ka="dialog-title",ma="dialog-title-label",na="dialog-title-close",oa="dialog-body",ra="dialog-footer";var wa=[],xa=0;
@@ -81,8 +82,8 @@ function Ua(a,b,c){var d=G;new FileReader;var e=new FormData,f=new XMLHttpReques
 function Va(a){if(S){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+G.id+"&ts="+S.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.j.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+G.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=G,c=Q,d=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
 if(c){var e=D.a.a[c.F],f="Message";"C"===b.id[0]?f="Channel message":"D"===b.id[0]?f="Direct message":"G"===b.id[0]&&(f="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.text,author_name:"<@"+e.id+"|"+e.name+">",author_icon:e.b.small,text:c.text,footer:f,ts:c.o}]))}d.open("POST",a,!0);d.send(null);return!0}function Ra(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+G.id+"&ts="+a.id,!0);b.send(null)}
 function Ka(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};function V(a,b,c,d){C.call(this,a,b,c,d)}V.prototype=Object.create(C.prototype);V.prototype.constructor=V;V.prototype.b=function(a,b){return!0===a.isMeMessage?new W(this.id,a,b):!0===a.isNotice?new X(this.id,a,b):new Y(this.id,a,b)};
-var Z=function(){function a(a){return K(a,{Sa:["fromage"],S:function(a){var b=a;":"===a[0]&&":"===a[a.length-1]&&(a=a.substr(1,a.length-2));return(a=La(a))?(b=document.createElement("span"),b.className="emoji-small",b.appendChild(a),b.outerHTML):b},U:b})}function b(a){var b=a.indexOf("|");if(-1===b)var c=a;else{c=a.substr(0,b);var f=a.substr(b+1)}return{link:c,text:f||c,Ea:"@"===c[0]?!0:"#"===c[0]?!0:!1}}return{D:function(a){a.H=!0;return a},M:function(a){a.c&&a.c.parentElement&&(a.c.remove(),delete a.c);
-return a},L:function(a){a.c?a.H&&(a.H=!1,a.I()):a.$().I();return a.c},I:function(b){var c=D.a.a[b.F];b.c.o.innerHTML=J.ba(b.o);b.c.ha.innerHTML=a(b.text);b.c.aa.textContent=c?c.name:b.username||"?";for(var c=document.createDocumentFragment(),e=0,f=b.u.length;e<f;e++){var k=b.u[e];k&&(k=bb(b,k,e))&&c.appendChild(k)}b.c.u.textContent="";b.c.u.appendChild(c);c=b.b;e=document.createDocumentFragment();if(b.B)for(var h in b.B){var f=c,k=b.id,g=h,m=b.B[h],l=La(g);if(l){for(var n=document.createElement("li"),
+var Z=function(){function a(a){return K(a,{Sa:["fromage"],S:function(a){":"===a[0]&&":"===a[a.length-1]&&(a=a.substr(1,a.length-2));if(a=La(a)){var b=document.createElement("span");b.className="emoji-small";b.appendChild(a);return b.outerHTML}return null},U:b})}function b(a){var b=a.indexOf("|");if(-1===b)var c=a;else{c=a.substr(0,b);var f=a.substr(b+1)}return{link:c,text:f||c,Ea:"@"===c[0]?!0:"#"===c[0]?!0:!1}}return{D:function(a){a.H=!0;return a},M:function(a){a.c&&a.c.parentElement&&(a.c.remove(),
+delete a.c);return a},L:function(a){a.c?a.H&&(a.H=!1,a.I()):a.$().I();return a.c},I:function(b){var c=D.a.a[b.F];b.c.o.innerHTML=J.ba(b.o);b.c.ha.innerHTML=a(b.text);b.c.aa.textContent=c?c.name:b.username||"?";for(var c=document.createDocumentFragment(),e=0,f=b.u.length;e<f;e++){var k=b.u[e];k&&(k=bb(b,k,e))&&c.appendChild(k)}b.c.u.textContent="";b.c.u.appendChild(c);c=b.b;e=document.createDocumentFragment();if(b.B)for(var h in b.B){var f=c,k=b.id,g=h,m=b.B[h],l=La(g);if(l){for(var n=document.createElement("li"),
 q=document.createElement("a"),u=document.createElement("span"),w=document.createElement("span"),x=[],F=0,E=m.length;F<E;F++){var L=D.a.a[m[F]];L&&x.push(L.name)}x.sort();w.textContent=x.join(", ");u.appendChild(l);u.className="emoji-small";q.href="javascript:toggleReaction('"+f+"', '"+k+"', '"+g+"')";q.appendChild(u);q.appendChild(w);n.className="slackmsg-reaction-item";n.appendChild(q);f=n}else console.warn("Reaction id not found: "+g),f=null;f&&e.appendChild(f)}b.c.B.textContent="";b.c.B.appendChild(e);
 b.R&&b.c.classList.add("edited");return b},J:function(a){return a.c.cloneNode(!0)},w:function(b,d){return a(d)}}}();function W(a,b,c){y.call(this,b,c);this.b=a;this.c=Z.c;this.H=Z.H}W.prototype=Object.create(z.prototype);p=W.prototype;p.constructor=W;p.D=function(){return Z.D(this)};p.w=function(a){return Z.w(this,a)};p.M=function(){return Z.M(this)};p.L=function(){return Z.L(this)};p.$=function(){this.c=$a(this);this.c.classList.add("slackmsg-me_message");return this};p.J=function(){return Z.J(this)};
 p.I=function(){Z.I(this);return this};p.update=function(a,b){z.prototype.update.call(this,a,b);this.D()};function Y(a,b,c){y.call(this,b,c);this.b=a;this.c=Z.c;this.H=Z.H}Y.prototype=Object.create(y.prototype);p=Y.prototype;p.constructor=Y;p.D=function(){return Z.D(this)};p.w=function(a){return Z.w(this,a)};p.M=function(){return Z.M(this)};p.L=function(){return Z.L(this)};p.$=function(){this.c=$a(this);return this};p.J=function(){return Z.J(this)};p.I=function(){Z.I(this);return this};