diff --git a/.eslintignore b/.eslintignore
index 2a39e35ae2b..b0cc12d0b0c 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -8,7 +8,6 @@ app/katex/client/katex/katex.min.js
packages/rocketchat-livechat/assets/rocketchat-livechat.min.js
packages/rocketchat-livechat/assets/rocket-livechat.js
app/theme/client/vendor/
-app/ui/client/lib/Modernizr.js
public/packages/rocketchat_videobridge/client/public/external_api.js
packages/tap-i18n/lib/tap_i18next/tap_i18next-1.7.3.js
private/moment-locales/
diff --git a/app/markdown/lib/hljs.js b/app/markdown/lib/hljs.js
index 23790031e0c..a8a57dd89cd 100644
--- a/app/markdown/lib/hljs.js
+++ b/app/markdown/lib/hljs.js
@@ -1,371 +1,371 @@
import hljs from 'highlight.js/lib/highlight';
-import onec from 'highlight.js/lib/languages/1c';
-import abnf from 'highlight.js/lib/languages/abnf';
-import accesslog from 'highlight.js/lib/languages/accesslog';
-import actionscript from 'highlight.js/lib/languages/actionscript';
-import ada from 'highlight.js/lib/languages/ada';
-import angelscript from 'highlight.js/lib/languages/angelscript';
-import apache from 'highlight.js/lib/languages/apache';
-import applescript from 'highlight.js/lib/languages/applescript';
-import arcade from 'highlight.js/lib/languages/arcade';
-import cpp from 'highlight.js/lib/languages/cpp';
-import arduino from 'highlight.js/lib/languages/arduino';
-import armasm from 'highlight.js/lib/languages/armasm';
-import xml from 'highlight.js/lib/languages/xml';
-import asciidoc from 'highlight.js/lib/languages/asciidoc';
-import aspectj from 'highlight.js/lib/languages/aspectj';
-import autohotkey from 'highlight.js/lib/languages/autohotkey';
-import autoit from 'highlight.js/lib/languages/autoit';
-import avrasm from 'highlight.js/lib/languages/avrasm';
-import awk from 'highlight.js/lib/languages/awk';
-import axapta from 'highlight.js/lib/languages/axapta';
+// import onec from 'highlight.js/lib/languages/1c';
+// import abnf from 'highlight.js/lib/languages/abnf';
+// import accesslog from 'highlight.js/lib/languages/accesslog';
+// import actionscript from 'highlight.js/lib/languages/actionscript';
+// import ada from 'highlight.js/lib/languages/ada';
+// import angelscript from 'highlight.js/lib/languages/angelscript';
+// import apache from 'highlight.js/lib/languages/apache';
+// import applescript from 'highlight.js/lib/languages/applescript';
+// import arcade from 'highlight.js/lib/languages/arcade';
+// import cpp from 'highlight.js/lib/languages/cpp';
+// import arduino from 'highlight.js/lib/languages/arduino';
+// import armasm from 'highlight.js/lib/languages/armasm';
+// import xml from 'highlight.js/lib/languages/xml';
+// import asciidoc from 'highlight.js/lib/languages/asciidoc';
+// import aspectj from 'highlight.js/lib/languages/aspectj';
+// import autohotkey from 'highlight.js/lib/languages/autohotkey';
+// import autoit from 'highlight.js/lib/languages/autoit';
+// import avrasm from 'highlight.js/lib/languages/avrasm';
+// import awk from 'highlight.js/lib/languages/awk';
+// import axapta from 'highlight.js/lib/languages/axapta';
import bash from 'highlight.js/lib/languages/bash';
-import basic from 'highlight.js/lib/languages/basic';
-import bnf from 'highlight.js/lib/languages/bnf';
-import brainfuck from 'highlight.js/lib/languages/brainfuck';
-import cal from 'highlight.js/lib/languages/cal';
-import capnproto from 'highlight.js/lib/languages/capnproto';
-import ceylon from 'highlight.js/lib/languages/ceylon';
+// import basic from 'highlight.js/lib/languages/basic';
+// import bnf from 'highlight.js/lib/languages/bnf';
+// import brainfuck from 'highlight.js/lib/languages/brainfuck';
+// import cal from 'highlight.js/lib/languages/cal';
+// import capnproto from 'highlight.js/lib/languages/capnproto';
+// import ceylon from 'highlight.js/lib/languages/ceylon';
import clean from 'highlight.js/lib/languages/clean';
-import clojure from 'highlight.js/lib/languages/clojure';
-import clojureRepl from 'highlight.js/lib/languages/clojure-repl';
-import cmake from 'highlight.js/lib/languages/cmake';
-import coq from 'highlight.js/lib/languages/coq';
-import cos from 'highlight.js/lib/languages/cos';
-import crmsh from 'highlight.js/lib/languages/crmsh';
-import crystal from 'highlight.js/lib/languages/crystal';
-import cs from 'highlight.js/lib/languages/cs';
-import csp from 'highlight.js/lib/languages/csp';
+// import clojure from 'highlight.js/lib/languages/clojure';
+// import clojureRepl from 'highlight.js/lib/languages/clojure-repl';
+// import cmake from 'highlight.js/lib/languages/cmake';
+// import coq from 'highlight.js/lib/languages/coq';
+// import cos from 'highlight.js/lib/languages/cos';
+// import crmsh from 'highlight.js/lib/languages/crmsh';
+// import crystal from 'highlight.js/lib/languages/crystal';
+// import cs from 'highlight.js/lib/languages/cs';
+// import csp from 'highlight.js/lib/languages/csp';
import css from 'highlight.js/lib/languages/css';
-import d from 'highlight.js/lib/languages/d';
+// import d from 'highlight.js/lib/languages/d';
import markdown from 'highlight.js/lib/languages/markdown';
-import dart from 'highlight.js/lib/languages/dart';
-import delphi from 'highlight.js/lib/languages/delphi';
-import diff from 'highlight.js/lib/languages/diff';
-import django from 'highlight.js/lib/languages/django';
-import dns from 'highlight.js/lib/languages/dns';
+// import dart from 'highlight.js/lib/languages/dart';
+// import delphi from 'highlight.js/lib/languages/delphi';
+// import diff from 'highlight.js/lib/languages/diff';
+// import django from 'highlight.js/lib/languages/django';
+// import dns from 'highlight.js/lib/languages/dns';
import dockerfile from 'highlight.js/lib/languages/dockerfile';
-import dos from 'highlight.js/lib/languages/dos';
-import dsconfig from 'highlight.js/lib/languages/dsconfig';
-import dts from 'highlight.js/lib/languages/dts';
-import dust from 'highlight.js/lib/languages/dust';
-import ebnf from 'highlight.js/lib/languages/ebnf';
-import elixir from 'highlight.js/lib/languages/elixir';
-import elm from 'highlight.js/lib/languages/elm';
-import ruby from 'highlight.js/lib/languages/ruby';
-import erb from 'highlight.js/lib/languages/erb';
-import erlangRepl from 'highlight.js/lib/languages/erlang-repl';
-import erlang from 'highlight.js/lib/languages/erlang';
-import excel from 'highlight.js/lib/languages/excel';
-import fix from 'highlight.js/lib/languages/fix';
-import flix from 'highlight.js/lib/languages/flix';
-import fortran from 'highlight.js/lib/languages/fortran';
-import fsharp from 'highlight.js/lib/languages/fsharp';
-import gams from 'highlight.js/lib/languages/gams';
-import gauss from 'highlight.js/lib/languages/gauss';
-import gcode from 'highlight.js/lib/languages/gcode';
-import gherkin from 'highlight.js/lib/languages/gherkin';
-import glsl from 'highlight.js/lib/languages/glsl';
-import gml from 'highlight.js/lib/languages/gml';
+// import dos from 'highlight.js/lib/languages/dos';
+// import dsconfig from 'highlight.js/lib/languages/dsconfig';
+// import dts from 'highlight.js/lib/languages/dts';
+// import dust from 'highlight.js/lib/languages/dust';
+// import ebnf from 'highlight.js/lib/languages/ebnf';
+// import elixir from 'highlight.js/lib/languages/elixir';
+// import elm from 'highlight.js/lib/languages/elm';
+// import ruby from 'highlight.js/lib/languages/ruby';
+// import erb from 'highlight.js/lib/languages/erb';
+// import erlangRepl from 'highlight.js/lib/languages/erlang-repl';
+// import erlang from 'highlight.js/lib/languages/erlang';
+// import excel from 'highlight.js/lib/languages/excel';
+// import fix from 'highlight.js/lib/languages/fix';
+// import flix from 'highlight.js/lib/languages/flix';
+// import fortran from 'highlight.js/lib/languages/fortran';
+// import fsharp from 'highlight.js/lib/languages/fsharp';
+// import gams from 'highlight.js/lib/languages/gams';
+// import gauss from 'highlight.js/lib/languages/gauss';
+// import gcode from 'highlight.js/lib/languages/gcode';
+// import gherkin from 'highlight.js/lib/languages/gherkin';
+// import glsl from 'highlight.js/lib/languages/glsl';
+// import gml from 'highlight.js/lib/languages/gml';
import go from 'highlight.js/lib/languages/go';
-import golo from 'highlight.js/lib/languages/golo';
-import gradle from 'highlight.js/lib/languages/gradle';
-import groovy from 'highlight.js/lib/languages/groovy';
-import haml from 'highlight.js/lib/languages/haml';
-import handlebars from 'highlight.js/lib/languages/handlebars';
-import haskell from 'highlight.js/lib/languages/haskell';
-import haxe from 'highlight.js/lib/languages/haxe';
-import hsp from 'highlight.js/lib/languages/hsp';
-import htmlbars from 'highlight.js/lib/languages/htmlbars';
-import http from 'highlight.js/lib/languages/http';
-import hy from 'highlight.js/lib/languages/hy';
-import inform7 from 'highlight.js/lib/languages/inform7';
-import ini from 'highlight.js/lib/languages/ini';
-import irpf90 from 'highlight.js/lib/languages/irpf90';
-import isbl from 'highlight.js/lib/languages/isbl';
-import java from 'highlight.js/lib/languages/java';
+// import golo from 'highlight.js/lib/languages/golo';
+// import gradle from 'highlight.js/lib/languages/gradle';
+// import groovy from 'highlight.js/lib/languages/groovy';
+// import haml from 'highlight.js/lib/languages/haml';
+// import handlebars from 'highlight.js/lib/languages/handlebars';
+// import haskell from 'highlight.js/lib/languages/haskell';
+// import haxe from 'highlight.js/lib/languages/haxe';
+// import hsp from 'highlight.js/lib/languages/hsp';
+// import htmlbars from 'highlight.js/lib/languages/htmlbars';
+// import http from 'highlight.js/lib/languages/http';
+// import hy from 'highlight.js/lib/languages/hy';
+// import inform7 from 'highlight.js/lib/languages/inform7';
+// import ini from 'highlight.js/lib/languages/ini';
+// import irpf90 from 'highlight.js/lib/languages/irpf90';
+// import isbl from 'highlight.js/lib/languages/isbl';
+// import java from 'highlight.js/lib/languages/java';
import javascript from 'highlight.js/lib/languages/javascript';
-import jbossCli from 'highlight.js/lib/languages/jboss-cli';
+// import jbossCli from 'highlight.js/lib/languages/jboss-cli';
import json from 'highlight.js/lib/languages/json';
-import julia from 'highlight.js/lib/languages/julia';
-import juliaRepl from 'highlight.js/lib/languages/julia-repl';
-import kotlin from 'highlight.js/lib/languages/kotlin';
-import lasso from 'highlight.js/lib/languages/lasso';
-import ldif from 'highlight.js/lib/languages/ldif';
-import leaf from 'highlight.js/lib/languages/leaf';
-import less from 'highlight.js/lib/languages/less';
-import lisp from 'highlight.js/lib/languages/lisp';
-import livecodeserver from 'highlight.js/lib/languages/livecodeserver';
-import llvm from 'highlight.js/lib/languages/llvm';
-import lsl from 'highlight.js/lib/languages/lsl';
-import lua from 'highlight.js/lib/languages/lua';
-import makefile from 'highlight.js/lib/languages/makefile';
-import mathematica from 'highlight.js/lib/languages/mathematica';
-import matlab from 'highlight.js/lib/languages/matlab';
-import maxima from 'highlight.js/lib/languages/maxima';
-import mel from 'highlight.js/lib/languages/mel';
-import mercury from 'highlight.js/lib/languages/mercury';
-import mipsasm from 'highlight.js/lib/languages/mipsasm';
-import mizar from 'highlight.js/lib/languages/mizar';
-import perl from 'highlight.js/lib/languages/perl';
-import mojolicious from 'highlight.js/lib/languages/mojolicious';
-import monkey from 'highlight.js/lib/languages/monkey';
-import moonscript from 'highlight.js/lib/languages/moonscript';
-import n1ql from 'highlight.js/lib/languages/n1ql';
-import nginx from 'highlight.js/lib/languages/nginx';
-import nimrod from 'highlight.js/lib/languages/nimrod';
-import nix from 'highlight.js/lib/languages/nix';
-import nsis from 'highlight.js/lib/languages/nsis';
-import objectivec from 'highlight.js/lib/languages/objectivec';
-import ocaml from 'highlight.js/lib/languages/ocaml';
-import openscad from 'highlight.js/lib/languages/openscad';
-import oxygene from 'highlight.js/lib/languages/oxygene';
-import parser3 from 'highlight.js/lib/languages/parser3';
-import pf from 'highlight.js/lib/languages/pf';
-import pgsql from 'highlight.js/lib/languages/pgsql';
-import php from 'highlight.js/lib/languages/php';
+// import julia from 'highlight.js/lib/languages/julia';
+// import juliaRepl from 'highlight.js/lib/languages/julia-repl';
+// import kotlin from 'highlight.js/lib/languages/kotlin';
+// import lasso from 'highlight.js/lib/languages/lasso';
+// import ldif from 'highlight.js/lib/languages/ldif';
+// import leaf from 'highlight.js/lib/languages/leaf';
+// import less from 'highlight.js/lib/languages/less';
+// import lisp from 'highlight.js/lib/languages/lisp';
+// import livecodeserver from 'highlight.js/lib/languages/livecodeserver';
+// import llvm from 'highlight.js/lib/languages/llvm';
+// import lsl from 'highlight.js/lib/languages/lsl';
+// import lua from 'highlight.js/lib/languages/lua';
+// import makefile from 'highlight.js/lib/languages/makefile';
+// import mathematica from 'highlight.js/lib/languages/mathematica';
+// import matlab from 'highlight.js/lib/languages/matlab';
+// import maxima from 'highlight.js/lib/languages/maxima';
+// import mel from 'highlight.js/lib/languages/mel';
+// import mercury from 'highlight.js/lib/languages/mercury';
+// import mipsasm from 'highlight.js/lib/languages/mipsasm';
+// import mizar from 'highlight.js/lib/languages/mizar';
+// import perl from 'highlight.js/lib/languages/perl';
+// import mojolicious from 'highlight.js/lib/languages/mojolicious';
+// import monkey from 'highlight.js/lib/languages/monkey';
+// import moonscript from 'highlight.js/lib/languages/moonscript';
+// import n1ql from 'highlight.js/lib/languages/n1ql';
+// import nginx from 'highlight.js/lib/languages/nginx';
+// import nimrod from 'highlight.js/lib/languages/nimrod';
+// import nix from 'highlight.js/lib/languages/nix';
+// import nsis from 'highlight.js/lib/languages/nsis';
+// import objectivec from 'highlight.js/lib/languages/objectivec';
+// import ocaml from 'highlight.js/lib/languages/ocaml';
+// import openscad from 'highlight.js/lib/languages/openscad';
+// import oxygene from 'highlight.js/lib/languages/oxygene';
+// import parser3 from 'highlight.js/lib/languages/parser3';
+// import pf from 'highlight.js/lib/languages/pf';
+// import pgsql from 'highlight.js/lib/languages/pgsql';
+// import php from 'highlight.js/lib/languages/php';
import plaintext from 'highlight.js/lib/languages/plaintext';
-import pony from 'highlight.js/lib/languages/pony';
+// import pony from 'highlight.js/lib/languages/pony';
import powershell from 'highlight.js/lib/languages/powershell';
-import processing from 'highlight.js/lib/languages/processing';
-import profile from 'highlight.js/lib/languages/profile';
-import prolog from 'highlight.js/lib/languages/prolog';
-import properties from 'highlight.js/lib/languages/properties';
-import protobuf from 'highlight.js/lib/languages/protobuf';
-import puppet from 'highlight.js/lib/languages/puppet';
-import purebasic from 'highlight.js/lib/languages/purebasic';
-import python from 'highlight.js/lib/languages/python';
-import q from 'highlight.js/lib/languages/q';
-import qml from 'highlight.js/lib/languages/qml';
-import r from 'highlight.js/lib/languages/r';
-import reasonml from 'highlight.js/lib/languages/reasonml';
-import rib from 'highlight.js/lib/languages/rib';
-import roboconf from 'highlight.js/lib/languages/roboconf';
-import routeros from 'highlight.js/lib/languages/routeros';
-import rsl from 'highlight.js/lib/languages/rsl';
-import ruleslanguage from 'highlight.js/lib/languages/ruleslanguage';
+// import processing from 'highlight.js/lib/languages/processing';
+// import profile from 'highlight.js/lib/languages/profile';
+// import prolog from 'highlight.js/lib/languages/prolog';
+// import properties from 'highlight.js/lib/languages/properties';
+// import protobuf from 'highlight.js/lib/languages/protobuf';
+// import puppet from 'highlight.js/lib/languages/puppet';
+// import purebasic from 'highlight.js/lib/languages/purebasic';
+// import python from 'highlight.js/lib/languages/python';
+// import q from 'highlight.js/lib/languages/q';
+// import qml from 'highlight.js/lib/languages/qml';
+// import r from 'highlight.js/lib/languages/r';
+// import reasonml from 'highlight.js/lib/languages/reasonml';
+// import rib from 'highlight.js/lib/languages/rib';
+// import roboconf from 'highlight.js/lib/languages/roboconf';
+// import routeros from 'highlight.js/lib/languages/routeros';
+// import rsl from 'highlight.js/lib/languages/rsl';
+// import ruleslanguage from 'highlight.js/lib/languages/ruleslanguage';
import rust from 'highlight.js/lib/languages/rust';
-import sas from 'highlight.js/lib/languages/sas';
-import scala from 'highlight.js/lib/languages/scala';
-import scheme from 'highlight.js/lib/languages/scheme';
-import scilab from 'highlight.js/lib/languages/scilab';
+// import sas from 'highlight.js/lib/languages/sas';
+// import scala from 'highlight.js/lib/languages/scala';
+// import scheme from 'highlight.js/lib/languages/scheme';
+// import scilab from 'highlight.js/lib/languages/scilab';
import scss from 'highlight.js/lib/languages/scss';
import shell from 'highlight.js/lib/languages/shell';
-import smali from 'highlight.js/lib/languages/smali';
-import smalltalk from 'highlight.js/lib/languages/smalltalk';
-import sml from 'highlight.js/lib/languages/sml';
-import sqf from 'highlight.js/lib/languages/sqf';
-import sql from 'highlight.js/lib/languages/sql';
-import stan from 'highlight.js/lib/languages/stan';
-import stata from 'highlight.js/lib/languages/stata';
-import step21 from 'highlight.js/lib/languages/step21';
-import stylus from 'highlight.js/lib/languages/stylus';
-import subunit from 'highlight.js/lib/languages/subunit';
-import swift from 'highlight.js/lib/languages/swift';
-import taggerscript from 'highlight.js/lib/languages/taggerscript';
+// import smali from 'highlight.js/lib/languages/smali';
+// import smalltalk from 'highlight.js/lib/languages/smalltalk';
+// import sml from 'highlight.js/lib/languages/sml';
+// import sqf from 'highlight.js/lib/languages/sqf';
+// import sql from 'highlight.js/lib/languages/sql';
+// import stan from 'highlight.js/lib/languages/stan';
+// import stata from 'highlight.js/lib/languages/stata';
+// import step21 from 'highlight.js/lib/languages/step21';
+// import stylus from 'highlight.js/lib/languages/stylus';
+// import subunit from 'highlight.js/lib/languages/subunit';
+// import swift from 'highlight.js/lib/languages/swift';
+// import taggerscript from 'highlight.js/lib/languages/taggerscript';
import yaml from 'highlight.js/lib/languages/yaml';
-import tap from 'highlight.js/lib/languages/tap';
-import tcl from 'highlight.js/lib/languages/tcl';
-import tex from 'highlight.js/lib/languages/tex';
-import thrift from 'highlight.js/lib/languages/thrift';
-import tp from 'highlight.js/lib/languages/tp';
-import twig from 'highlight.js/lib/languages/twig';
-import typescript from 'highlight.js/lib/languages/typescript';
-import vala from 'highlight.js/lib/languages/vala';
-import vbnet from 'highlight.js/lib/languages/vbnet';
-import vbscript from 'highlight.js/lib/languages/vbscript';
-import vbscriptHtml from 'highlight.js/lib/languages/vbscript-html';
-import verilog from 'highlight.js/lib/languages/verilog';
-import vhdl from 'highlight.js/lib/languages/vhdl';
+// import tap from 'highlight.js/lib/languages/tap';
+// import tcl from 'highlight.js/lib/languages/tcl';
+// import tex from 'highlight.js/lib/languages/tex';
+// import thrift from 'highlight.js/lib/languages/thrift';
+// import tp from 'highlight.js/lib/languages/tp';
+// import twig from 'highlight.js/lib/languages/twig';
+// import typescript from 'highlight.js/lib/languages/typescript';
+// import vala from 'highlight.js/lib/languages/vala';
+// import vbnet from 'highlight.js/lib/languages/vbnet';
+// import vbscript from 'highlight.js/lib/languages/vbscript';
+// import vbscriptHtml from 'highlight.js/lib/languages/vbscript-html';
+// import verilog from 'highlight.js/lib/languages/verilog';
+// import vhdl from 'highlight.js/lib/languages/vhdl';
import vim from 'highlight.js/lib/languages/vim';
-import x86asm from 'highlight.js/lib/languages/x86asm';
-import xl from 'highlight.js/lib/languages/xl';
-import xquery from 'highlight.js/lib/languages/xquery';
-import zephir from 'highlight.js/lib/languages/zephir';
+// import x86asm from 'highlight.js/lib/languages/x86asm';
+// import xl from 'highlight.js/lib/languages/xl';
+// import xquery from 'highlight.js/lib/languages/xquery';
+// import zephir from 'highlight.js/lib/languages/zephir';
hljs.registerLanguage('javascript', javascript);
-hljs.registerLanguage('typescript', typescript);
-hljs.registerLanguage('python', python);
-hljs.registerLanguage('java', java);
-hljs.registerLanguage('php', php);
+// hljs.registerLanguage('typescript', typescript);
+// hljs.registerLanguage('python', python);
+// hljs.registerLanguage('java', java);
+// hljs.registerLanguage('php', php);
hljs.registerLanguage('css', css);
hljs.registerLanguage('markdown', markdown);
hljs.registerLanguage('dockerfile', dockerfile);
hljs.registerLanguage('json', json);
-hljs.registerLanguage('r', r);
-hljs.registerLanguage('objectivec', objectivec);
-hljs.registerLanguage('swift', swift);
-hljs.registerLanguage('matlab', matlab);
-hljs.registerLanguage('kotlin', kotlin);
+// hljs.registerLanguage('r', r);
+// hljs.registerLanguage('objectivec', objectivec);
+// hljs.registerLanguage('swift', swift);
+// hljs.registerLanguage('matlab', matlab);
+// hljs.registerLanguage('kotlin', kotlin);
hljs.registerLanguage('go', go);
-hljs.registerLanguage('ruby', ruby);
-hljs.registerLanguage('scala', scala);
+// hljs.registerLanguage('ruby', ruby);
+// hljs.registerLanguage('scala', scala);
hljs.registerLanguage('rust', rust);
-hljs.registerLanguage('dart', dart);
-hljs.registerLanguage('lua', lua);
-hljs.registerLanguage('ada', ada);
-hljs.registerLanguage('groovy', groovy);
-hljs.registerLanguage('julia', julia);
-hljs.registerLanguage('julia-repl', juliaRepl);
-hljs.registerLanguage('haskell', haskell);
-hljs.registerLanguage('delphi', delphi);
+// hljs.registerLanguage('dart', dart);
+// hljs.registerLanguage('lua', lua);
+// hljs.registerLanguage('ada', ada);
+// hljs.registerLanguage('groovy', groovy);
+// hljs.registerLanguage('julia', julia);
+// hljs.registerLanguage('julia-repl', juliaRepl);
+// hljs.registerLanguage('haskell', haskell);
+// hljs.registerLanguage('delphi', delphi);
hljs.registerLanguage('clean', clean);
-hljs.registerLanguage('1c', onec);
-hljs.registerLanguage('abnf', abnf);
-hljs.registerLanguage('accesslog', accesslog);
-hljs.registerLanguage('actionscript', actionscript);
-hljs.registerLanguage('angelscript', angelscript);
-hljs.registerLanguage('apache', apache);
-hljs.registerLanguage('applescript', applescript);
-hljs.registerLanguage('arcade', arcade);
-hljs.registerLanguage('cpp', cpp);
-hljs.registerLanguage('arduino', arduino);
-hljs.registerLanguage('armasm', armasm);
-hljs.registerLanguage('xml', xml);
-hljs.registerLanguage('asciidoc', asciidoc);
-hljs.registerLanguage('aspectj', aspectj);
-hljs.registerLanguage('autohotkey', autohotkey);
-hljs.registerLanguage('autoit', autoit);
-hljs.registerLanguage('avrasm', avrasm);
-hljs.registerLanguage('awk', awk);
-hljs.registerLanguage('axapta', axapta);
+// hljs.registerLanguage('1c', onec);
+// hljs.registerLanguage('abnf', abnf);
+// hljs.registerLanguage('accesslog', accesslog);
+// hljs.registerLanguage('actionscript', actionscript);
+// hljs.registerLanguage('angelscript', angelscript);
+// hljs.registerLanguage('apache', apache);
+// hljs.registerLanguage('applescript', applescript);
+// hljs.registerLanguage('arcade', arcade);
+// hljs.registerLanguage('cpp', cpp);
+// hljs.registerLanguage('arduino', arduino);
+// hljs.registerLanguage('armasm', armasm);
+// hljs.registerLanguage('xml', xml);
+// hljs.registerLanguage('asciidoc', asciidoc);
+// hljs.registerLanguage('aspectj', aspectj);
+// hljs.registerLanguage('autohotkey', autohotkey);
+// hljs.registerLanguage('autoit', autoit);
+// hljs.registerLanguage('avrasm', avrasm);
+// hljs.registerLanguage('awk', awk);
+// hljs.registerLanguage('axapta', axapta);
hljs.registerLanguage('bash', bash);
-hljs.registerLanguage('basic', basic);
-hljs.registerLanguage('bnf', bnf);
-hljs.registerLanguage('brainfuck', brainfuck);
-hljs.registerLanguage('cal', cal);
-hljs.registerLanguage('capnproto', capnproto);
-hljs.registerLanguage('ceylon', ceylon);
-hljs.registerLanguage('clojure', clojure);
-hljs.registerLanguage('clojure-repl', clojureRepl);
-hljs.registerLanguage('cmake', cmake);
-hljs.registerLanguage('coq', coq);
-hljs.registerLanguage('cos', cos);
-hljs.registerLanguage('crmsh', crmsh);
-hljs.registerLanguage('crystal', crystal);
-hljs.registerLanguage('cs', cs);
-hljs.registerLanguage('csp', csp);
-hljs.registerLanguage('d', d);
-hljs.registerLanguage('diff', diff);
-hljs.registerLanguage('django', django);
-hljs.registerLanguage('dns', dns);
-hljs.registerLanguage('dos', dos);
-hljs.registerLanguage('dsconfig', dsconfig);
-hljs.registerLanguage('dts', dts);
-hljs.registerLanguage('dust', dust);
-hljs.registerLanguage('ebnf', ebnf);
-hljs.registerLanguage('elixir', elixir);
-hljs.registerLanguage('elm', elm);
-hljs.registerLanguage('erb', erb);
-hljs.registerLanguage('erlang-repl', erlangRepl);
-hljs.registerLanguage('erlang', erlang);
-hljs.registerLanguage('excel', excel);
-hljs.registerLanguage('fix', fix);
-hljs.registerLanguage('flix', flix);
-hljs.registerLanguage('fortran', fortran);
-hljs.registerLanguage('fsharp', fsharp);
-hljs.registerLanguage('gams', gams);
-hljs.registerLanguage('gauss', gauss);
-hljs.registerLanguage('gcode', gcode);
-hljs.registerLanguage('gherkin', gherkin);
-hljs.registerLanguage('glsl', glsl);
-hljs.registerLanguage('gml', gml);
-hljs.registerLanguage('golo', golo);
-hljs.registerLanguage('gradle', gradle);
-hljs.registerLanguage('haml', haml);
-hljs.registerLanguage('handlebars', handlebars);
-hljs.registerLanguage('haxe', haxe);
-hljs.registerLanguage('hsp', hsp);
-hljs.registerLanguage('htmlbars', htmlbars);
-hljs.registerLanguage('http', http);
-hljs.registerLanguage('hy', hy);
-hljs.registerLanguage('inform7', inform7);
-hljs.registerLanguage('ini', ini);
-hljs.registerLanguage('irpf90', irpf90);
-hljs.registerLanguage('isbl', isbl);
-hljs.registerLanguage('jboss-cli', jbossCli);
-hljs.registerLanguage('lasso', lasso);
-hljs.registerLanguage('ldif', ldif);
-hljs.registerLanguage('leaf', leaf);
-hljs.registerLanguage('less', less);
-hljs.registerLanguage('lisp', lisp);
-hljs.registerLanguage('livecodeserver', livecodeserver);
-hljs.registerLanguage('llvm', llvm);
-hljs.registerLanguage('lsl', lsl);
-hljs.registerLanguage('makefile', makefile);
-hljs.registerLanguage('mathematica', mathematica);
-hljs.registerLanguage('maxima', maxima);
-hljs.registerLanguage('mel', mel);
-hljs.registerLanguage('mercury', mercury);
-hljs.registerLanguage('mipsasm', mipsasm);
-hljs.registerLanguage('mizar', mizar);
-hljs.registerLanguage('perl', perl);
-hljs.registerLanguage('mojolicious', mojolicious);
-hljs.registerLanguage('monkey', monkey);
-hljs.registerLanguage('moonscript', moonscript);
-hljs.registerLanguage('n1ql', n1ql);
-hljs.registerLanguage('nginx', nginx);
-hljs.registerLanguage('nimrod', nimrod);
-hljs.registerLanguage('nix', nix);
-hljs.registerLanguage('nsis', nsis);
-hljs.registerLanguage('ocaml', ocaml);
-hljs.registerLanguage('openscad', openscad);
-hljs.registerLanguage('oxygene', oxygene);
-hljs.registerLanguage('parser3', parser3);
-hljs.registerLanguage('pf', pf);
-hljs.registerLanguage('pgsql', pgsql);
+// hljs.registerLanguage('basic', basic);
+// hljs.registerLanguage('bnf', bnf);
+// hljs.registerLanguage('brainfuck', brainfuck);
+// hljs.registerLanguage('cal', cal);
+// hljs.registerLanguage('capnproto', capnproto);
+// hljs.registerLanguage('ceylon', ceylon);
+// hljs.registerLanguage('clojure', clojure);
+// hljs.registerLanguage('clojure-repl', clojureRepl);
+// hljs.registerLanguage('cmake', cmake);
+// hljs.registerLanguage('coq', coq);
+// hljs.registerLanguage('cos', cos);
+// hljs.registerLanguage('crmsh', crmsh);
+// hljs.registerLanguage('crystal', crystal);
+// hljs.registerLanguage('cs', cs);
+// hljs.registerLanguage('csp', csp);
+// hljs.registerLanguage('d', d);
+// hljs.registerLanguage('diff', diff);
+// hljs.registerLanguage('django', django);
+// hljs.registerLanguage('dns', dns);
+// hljs.registerLanguage('dos', dos);
+// hljs.registerLanguage('dsconfig', dsconfig);
+// hljs.registerLanguage('dts', dts);
+// hljs.registerLanguage('dust', dust);
+// hljs.registerLanguage('ebnf', ebnf);
+// hljs.registerLanguage('elixir', elixir);
+// hljs.registerLanguage('elm', elm);
+// hljs.registerLanguage('erb', erb);
+// hljs.registerLanguage('erlang-repl', erlangRepl);
+// hljs.registerLanguage('erlang', erlang);
+// hljs.registerLanguage('excel', excel);
+// hljs.registerLanguage('fix', fix);
+// hljs.registerLanguage('flix', flix);
+// hljs.registerLanguage('fortran', fortran);
+// hljs.registerLanguage('fsharp', fsharp);
+// hljs.registerLanguage('gams', gams);
+// hljs.registerLanguage('gauss', gauss);
+// hljs.registerLanguage('gcode', gcode);
+// hljs.registerLanguage('gherkin', gherkin);
+// hljs.registerLanguage('glsl', glsl);
+// hljs.registerLanguage('gml', gml);
+// hljs.registerLanguage('golo', golo);
+// hljs.registerLanguage('gradle', gradle);
+// hljs.registerLanguage('haml', haml);
+// hljs.registerLanguage('handlebars', handlebars);
+// hljs.registerLanguage('haxe', haxe);
+// hljs.registerLanguage('hsp', hsp);
+// hljs.registerLanguage('htmlbars', htmlbars);
+// hljs.registerLanguage('http', http);
+// hljs.registerLanguage('hy', hy);
+// hljs.registerLanguage('inform7', inform7);
+// hljs.registerLanguage('ini', ini);
+// hljs.registerLanguage('irpf90', irpf90);
+// hljs.registerLanguage('isbl', isbl);
+// hljs.registerLanguage('jboss-cli', jbossCli);
+// hljs.registerLanguage('lasso', lasso);
+// hljs.registerLanguage('ldif', ldif);
+// hljs.registerLanguage('leaf', leaf);
+// hljs.registerLanguage('less', less);
+// hljs.registerLanguage('lisp', lisp);
+// hljs.registerLanguage('livecodeserver', livecodeserver);
+// hljs.registerLanguage('llvm', llvm);
+// hljs.registerLanguage('lsl', lsl);
+// hljs.registerLanguage('makefile', makefile);
+// hljs.registerLanguage('mathematica', mathematica);
+// hljs.registerLanguage('maxima', maxima);
+// hljs.registerLanguage('mel', mel);
+// hljs.registerLanguage('mercury', mercury);
+// hljs.registerLanguage('mipsasm', mipsasm);
+// hljs.registerLanguage('mizar', mizar);
+// hljs.registerLanguage('perl', perl);
+// hljs.registerLanguage('mojolicious', mojolicious);
+// hljs.registerLanguage('monkey', monkey);
+// hljs.registerLanguage('moonscript', moonscript);
+// hljs.registerLanguage('n1ql', n1ql);
+// hljs.registerLanguage('nginx', nginx);
+// hljs.registerLanguage('nimrod', nimrod);
+// hljs.registerLanguage('nix', nix);
+// hljs.registerLanguage('nsis', nsis);
+// hljs.registerLanguage('ocaml', ocaml);
+// hljs.registerLanguage('openscad', openscad);
+// hljs.registerLanguage('oxygene', oxygene);
+// hljs.registerLanguage('parser3', parser3);
+// hljs.registerLanguage('pf', pf);
+// hljs.registerLanguage('pgsql', pgsql);
hljs.registerLanguage('plaintext', plaintext);
-hljs.registerLanguage('pony', pony);
+// hljs.registerLanguage('pony', pony);
hljs.registerLanguage('powershell', powershell);
-hljs.registerLanguage('processing', processing);
-hljs.registerLanguage('profile', profile);
-hljs.registerLanguage('prolog', prolog);
-hljs.registerLanguage('properties', properties);
-hljs.registerLanguage('protobuf', protobuf);
-hljs.registerLanguage('puppet', puppet);
-hljs.registerLanguage('purebasic', purebasic);
-hljs.registerLanguage('q', q);
-hljs.registerLanguage('qml', qml);
-hljs.registerLanguage('reasonml', reasonml);
-hljs.registerLanguage('rib', rib);
-hljs.registerLanguage('roboconf', roboconf);
-hljs.registerLanguage('routeros', routeros);
-hljs.registerLanguage('rsl', rsl);
-hljs.registerLanguage('ruleslanguage', ruleslanguage);
-hljs.registerLanguage('sas', sas);
-hljs.registerLanguage('scheme', scheme);
-hljs.registerLanguage('scilab', scilab);
+// hljs.registerLanguage('processing', processing);
+// hljs.registerLanguage('profile', profile);
+// hljs.registerLanguage('prolog', prolog);
+// hljs.registerLanguage('properties', properties);
+// hljs.registerLanguage('protobuf', protobuf);
+// hljs.registerLanguage('puppet', puppet);
+// hljs.registerLanguage('purebasic', purebasic);
+// hljs.registerLanguage('q', q);
+// hljs.registerLanguage('qml', qml);
+// hljs.registerLanguage('reasonml', reasonml);
+// hljs.registerLanguage('rib', rib);
+// hljs.registerLanguage('roboconf', roboconf);
+// hljs.registerLanguage('routeros', routeros);
+// hljs.registerLanguage('rsl', rsl);
+// hljs.registerLanguage('ruleslanguage', ruleslanguage);
+// hljs.registerLanguage('sas', sas);
+// hljs.registerLanguage('scheme', scheme);
+// hljs.registerLanguage('scilab', scilab);
hljs.registerLanguage('scss', scss);
hljs.registerLanguage('shell', shell);
-hljs.registerLanguage('smali', smali);
-hljs.registerLanguage('smalltalk', smalltalk);
-hljs.registerLanguage('sml', sml);
-hljs.registerLanguage('sqf', sqf);
-hljs.registerLanguage('sql', sql);
-hljs.registerLanguage('stan', stan);
-hljs.registerLanguage('stata', stata);
-hljs.registerLanguage('step21', step21);
-hljs.registerLanguage('stylus', stylus);
-hljs.registerLanguage('subunit', subunit);
-hljs.registerLanguage('taggerscript', taggerscript);
+// hljs.registerLanguage('smali', smali);
+// hljs.registerLanguage('smalltalk', smalltalk);
+// hljs.registerLanguage('sml', sml);
+// hljs.registerLanguage('sqf', sqf);
+// hljs.registerLanguage('sql', sql);
+// hljs.registerLanguage('stan', stan);
+// hljs.registerLanguage('stata', stata);
+// hljs.registerLanguage('step21', step21);
+// hljs.registerLanguage('stylus', stylus);
+// hljs.registerLanguage('subunit', subunit);
+// hljs.registerLanguage('taggerscript', taggerscript);
hljs.registerLanguage('yaml', yaml);
-hljs.registerLanguage('tap', tap);
-hljs.registerLanguage('tcl', tcl);
-hljs.registerLanguage('tex', tex);
-hljs.registerLanguage('thrift', thrift);
-hljs.registerLanguage('tp', tp);
-hljs.registerLanguage('twig', twig);
-hljs.registerLanguage('vala', vala);
-hljs.registerLanguage('vbnet', vbnet);
-hljs.registerLanguage('vbscript', vbscript);
-hljs.registerLanguage('vbscript-html', vbscriptHtml);
-hljs.registerLanguage('verilog', verilog);
-hljs.registerLanguage('vhdl', vhdl);
+// hljs.registerLanguage('tap', tap);
+// hljs.registerLanguage('tcl', tcl);
+// hljs.registerLanguage('tex', tex);
+// hljs.registerLanguage('thrift', thrift);
+// hljs.registerLanguage('tp', tp);
+// hljs.registerLanguage('twig', twig);
+// hljs.registerLanguage('vala', vala);
+// hljs.registerLanguage('vbnet', vbnet);
+// hljs.registerLanguage('vbscript', vbscript);
+// hljs.registerLanguage('vbscript-html', vbscriptHtml);
+// hljs.registerLanguage('verilog', verilog);
+// hljs.registerLanguage('vhdl', vhdl);
hljs.registerLanguage('vim', vim);
-hljs.registerLanguage('x86asm', x86asm);
-hljs.registerLanguage('xl', xl);
-hljs.registerLanguage('xquery', xquery);
-hljs.registerLanguage('zephir', zephir);
+// hljs.registerLanguage('x86asm', x86asm);
+// hljs.registerLanguage('xl', xl);
+// hljs.registerLanguage('xquery', xquery);
+// hljs.registerLanguage('zephir', zephir);
export default hljs;
diff --git a/app/markdown/tests/client.tests.js b/app/markdown/tests/client.tests.js
index a8283386c16..7da32eb005a 100644
--- a/app/markdown/tests/client.tests.js
+++ b/app/markdown/tests/client.tests.js
@@ -229,7 +229,6 @@ const code = {
'```javascript\nvar a = \'log\';\nconsole.log(a);```': codeWrapper('var a = \'log\';\nconsole.log(a);', 'javascript'),
'```*code*```': codeWrapper('*code*', 'markdown'),
'```**code**```': codeWrapper('**code**', 'markdown'),
- '```_code_```': codeWrapper('_code_', 'sqf'),
'```__code__```': codeWrapper('__code__', 'markdown'),
};
diff --git a/app/ui-message/client/messageBox/messageBoxActions.js b/app/ui-message/client/messageBox/messageBoxActions.js
index 0837cdebd2c..e75406b062d 100644
--- a/app/ui-message/client/messageBox/messageBoxActions.js
+++ b/app/ui-message/client/messageBox/messageBoxActions.js
@@ -8,7 +8,6 @@ import { messageBox, modal } from '../../../ui-utils';
import { fileUpload } from '../../../ui';
import { settings } from '../../../settings';
import { t } from '../../../utils';
-import { mime } from '../../../utils/lib/mimeTypes';
messageBox.actions.add('Create_new', 'Video_message', {
id: 'video-message',
@@ -41,7 +40,8 @@ messageBox.actions.add('Add_files_from', 'Computer', {
$(document.body).append($input);
- $input.one('change', function(e) {
+ $input.one('change', async function(e) {
+ const { mime } = await import('../../../utils/lib/mimeTypes');
const filesToUpload = [...e.target.files].map((file) => {
Object.defineProperty(file, 'type', {
value: mime.lookup(file.name),
diff --git a/app/ui/client/index.js b/app/ui/client/index.js
index f9360105569..a3b53193f2b 100644
--- a/app/ui/client/index.js
+++ b/app/ui/client/index.js
@@ -4,7 +4,6 @@ import './lib/accounts';
import './lib/collections';
import './lib/iframeCommands';
import './lib/menu';
-import './lib/Modernizr';
import './lib/parentTemplate';
import './lib/codeMirror';
import './lib/textarea-cursor';
@@ -20,7 +19,6 @@ import './views/app/home.html';
import './views/app/notAuthorized.html';
import './views/app/pageContainer.html';
import './views/app/pageCustomContainer.html';
-import './views/app/room.html';
import './views/app/roomSearch.html';
import './views/app/secretURL.html';
import './views/app/userSearch.html';
@@ -60,7 +58,7 @@ export { ChatMessages } from './lib/chatMessages';
export { fileUpload } from './lib/fileUpload';
export { MsgTyping } from './lib/msgTyping';
export { KonchatNotification } from './lib/notification';
-export { Login, animationSupport, animeBack, Button, preLoadImgs } from './lib/rocket';
+export { Login, Button } from './lib/rocket';
export { AudioRecorder } from './lib/recorderjs/audioRecorder';
export { VideoRecorder } from './lib/recorderjs/videoRecorder';
export { chatMessages } from './views/app/room';
diff --git a/app/ui/client/lib/Modernizr.js b/app/ui/client/lib/Modernizr.js
deleted file mode 100644
index a8877905c42..00000000000
--- a/app/ui/client/lib/Modernizr.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
-* Build: http://modernizr.com/download/#-cssanimations-csstransitions-touch-shiv-cssclasses-prefixed-teststyles-testprop-testallprops-prefixes-domprefixes-css_calc-load
-*/
-;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},q.cssanimations=function(){return F("animationName")},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 0) {
- if (callback) { callback(el); }
- return;
- }
- const s = animationSupport();
- const p = type ? s.animation : s.transition;
- el.one(p, function(e) {
- // el.off(p);
- callback(e);
- });
-};
-
-export const preLoadImgs = function(urls, callback) {
- const preLoader = $('').attr({ id: 'perverter-preloader' });
- let ended = undefined;
- const l_ = function(x) {
- if (x.width > 0) {
- $(x).addClass('loaded').removeClass('loading');
- const loaded = $('.loaded', preLoader);
- if ((loaded.length === urls.length) && !ended) {
- ended = 1;
- const imgs = preLoader.children();
- callback(imgs);
- preLoader.remove();
- }
- }
- };
- return urls.map((url) => {
- const im = new Image();
- im.onload = function() {
- l_(this);
- };
- $(im).appendTo(preLoader).addClass('loading');
- im.src = url;
- if (im.width > 0) { l_(im); }
- return im;
- });
-};
diff --git a/app/ui/client/views/app/photoswipe.js b/app/ui/client/views/app/photoswipe.js
index c221fcb35cf..2c497f1a2d1 100644
--- a/app/ui/client/views/app/photoswipe.js
+++ b/app/ui/client/views/app/photoswipe.js
@@ -1,12 +1,10 @@
import { Meteor } from 'meteor/meteor';
-import PhotoSwipe from 'photoswipe';
-import PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';
-import 'photoswipe/dist/photoswipe.css';
import s from 'underscore.string';
Meteor.startup(() => {
let currentGallery = null;
- const initGallery = (items, options) => {
+ const initGallery = async (items, options) => {
+ const [PhotoSwipe, PhotoSwipeUI_Default] = await Promise.all([import('photoswipe'), import('photoswipe/dist/photoswipe-ui-default'), import('photoswipe/dist/photoswipe.css')]);
if (!currentGallery) {
currentGallery = new PhotoSwipe(document.getElementById('pswp'), PhotoSwipeUI_Default, items, options);
currentGallery.listen('destroy', () => {
@@ -84,5 +82,4 @@ Meteor.startup(() => {
};
$(document).on('click', '.gallery-item', createEventListenerFor('.gallery-item'));
- $(document).on('click', '.room-files-image', createEventListenerFor('.room-files-image'));
});
diff --git a/app/ui/client/views/app/room.js b/app/ui/client/views/app/room.js
index 97398d18f57..b7018122c54 100644
--- a/app/ui/client/views/app/room.js
+++ b/app/ui/client/views/app/room.js
@@ -36,9 +36,10 @@ import { hasAllPermission, hasRole } from '../../../../authorization';
import { ChatMessages } from '../../lib/chatMessages';
import { fileUpload } from '../../lib/fileUpload';
import { isURL } from '../../../../utils/lib/isURL';
-import { mime } from '../../../../utils/lib/mimeTypes';
import { openUserCard } from '../../lib/UserCard';
+import './room.html';
+
export const chatMessages = {};
const userCanDrop = (_id) => !roomTypes.readOnly(_id, Users.findOne({ _id: Meteor.userId() }, { fields: { username: 1 } }));
@@ -239,6 +240,7 @@ async function createFileFromUrl(url) {
const metadata = {
type: data.type,
};
+ const { mime } = await import('../../../../utils/lib/mimeTypes');
const file = new File([data], `File - ${ moment().format(settings.get('Message_TimeAndDateFormat')) }.${ mime.extension(data.type) }`, metadata);
return file;
}
@@ -655,7 +657,7 @@ export const dropzoneEvents = {
return addToInput(transferData.trim());
}
}
-
+ const { mime } = await import('../../../../utils/lib/mimeTypes');
const filesToUpload = Array.from(files).map((file) => {
Object.defineProperty(file, 'type', { value: mime.lookup(file.name) });
return {
diff --git a/app/utils/client/index.js b/app/utils/client/index.js
index 8f536315da1..6df40269d05 100644
--- a/app/utils/client/index.js
+++ b/app/utils/client/index.js
@@ -14,10 +14,8 @@ export { getUserNotificationPreference } from '../lib/getUserNotificationPrefere
export { applyCustomTranslations } from './lib/CustomTranslations';
export { getAvatarColor } from '../lib/getAvatarColor';
export { getURL } from '../lib/getURL';
-export { getValidRoomName } from '../lib/getValidRoomName';
export { placeholders } from '../lib/placeholders';
export { templateVarHandler } from '../lib/templateVarHandler';
export { APIClient, mountArrayQueryParameters } from './lib/RestApiClient';
export { canDeleteMessage } from './lib/canDeleteMessage';
-export { mime } from '../lib/mimeTypes';
export { secondsToHHMMSS } from '../lib/timeConverter';
diff --git a/app/utils/server/index.js b/app/utils/server/index.js
index a380d6f4ba7..c48c3a317c7 100644
--- a/app/utils/server/index.js
+++ b/app/utils/server/index.js
@@ -16,5 +16,4 @@ export { getURL } from '../lib/getURL';
export { getValidRoomName } from '../lib/getValidRoomName';
export { placeholders } from '../lib/placeholders';
export { templateVarHandler } from '../lib/templateVarHandler';
-export { mime } from '../lib/mimeTypes';
export { secondsToHHMMSS } from '../lib/timeConverter';