diff --git a/.scripts/fix-i18n.js b/.scripts/fix-i18n.js index ad8210d7cd3..4fcee9731b9 100644 --- a/.scripts/fix-i18n.js +++ b/.scripts/fix-i18n.js @@ -26,4 +26,3 @@ const fixFiles = (path, source, newlineAtEnd = false) => { }; fixFiles('./packages/rocketchat-i18n', '/i18n/en.i18n.json'); -fixFiles('./packages/rocketchat-livechat/.app/i18n', '/en.i18n.json'); diff --git a/.scripts/npm-postinstall.js b/.scripts/npm-postinstall.js index 43453910934..b8362a2401d 100644 --- a/.scripts/npm-postinstall.js +++ b/.scripts/npm-postinstall.js @@ -9,5 +9,3 @@ execSync('mkdir -p public/fonts/'); execSync('cp node_modules/katex/dist/fonts/* public/fonts/'); execSync('cp node_modules/pdfjs-dist/build/pdf.worker.min.js public/'); - -execSync('cd packages/rocketchat-livechat/.app && (meteor npm install || npm install) && cd -'); diff --git a/app/livechat/client/stylesheets/livechat.less b/app/livechat/client/stylesheets/livechat.less index daa10209574..fb041f243e1 100644 --- a/app/livechat/client/stylesheets/livechat.less +++ b/app/livechat/client/stylesheets/livechat.less @@ -60,510 +60,7 @@ .livechat-content { display: flex; flex-direction: row; -} - -.livechat-settings-div, -.livechat-preview-div { - flex: 1 1; - margin-bottom: 0 !important; - padding: 1em; -} - -.livechat-settings-div { - border-right: 1px solid #cccccc; -} - -.livechat-preview { - width: 340px; - height: 350px; - margin: 0 auto; - border-bottom: 1px solid #cccccc; - position: relative; - - .preview-wrapper { - position: absolute; - width: 100%; - padding: 0 20px; - height: 300px; - bottom: 0; - font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif, "Meiryo UI"; - font-size: 0.8rem; - color: @primary-font-color; - -webkit-font-smoothing: antialiased; - line-height: 1rem; - - input, - button, - select, - textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; - padding: 5px; - margin: 5px 0; - border: 1px solid #e7e7e7; - border-radius: 5px; - outline: none; - } - - input { - height: 28px; - } - - input:focus { - outline: none; - box-shadow: 0 0 0; - } - - .button { - &:extend(.unselectable); - display: inline-block; - padding: 9px 12px; - font-weight: 500; - font-size: 13px; - margin: 4px; - text-transform: uppercase; - word-spacing: 0; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.125); - border: none; - border-radius: 0; - line-height: 16px; - position: relative; - cursor: pointer; - color: rgba(255, 255, 255, 0.85); - - span { - position: relative; - z-index: 2; - } - - &::before { - background-color: rgba(0, 0, 0, 0.1); - content: " "; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0; - z-index: 1; - transition: opacity 0.1s ease-out; - } - - &:hover { - text-decoration: none; - color: #ffffff; - - &::before { - opacity: 1; - } - } - - &.clean { - font-size: 14px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.08); - - &.primary { - font-weight: 600; - } - } - - &.button-block { - display: block; - width: 100%; - } - } - - .livechat-room { - display: flex; - flex-direction: column; - height: 100%; - - .title { - flex: 1 0 @header-min-height; - line-height: @header-min-height; - border-top-right-radius: 5px; - border-top-left-radius: 5px; - color: #ffffff; - z-index: 10; - cursor: pointer; - - h1 { - margin: 0; - padding: 0 5px; - font-size: 9pt; - display: inline-block; - text-transform: none; - } - - .toolbar { - display: inline-block; - float: right; - padding-right: 5px; - } - } - - .messages { - flex: 1 1 100%; - background-color: #ffffff; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - overflow-y: auto; - - .wrapper { - padding-bottom: 6px; - - ul { - list-style-type: none; - padding: 0; - - li { - padding: 0; - } - } - - .message { - font-size: 12px; - padding-left: 40px; - position: relative; - line-height: 18px; - margin: 12px 10px 0; - min-height: 36px; - - &:nth-child(1) { - margin-top: 0; - } - - &.new-day { - margin-top: 60px; - - &::before { - content: attr(data-date); - display: block; - position: absolute; - top: -30px; - left: calc(~'50% - 70px'); - font-size: 10px; - font-weight: 600; - text-align: center; - color: @secondary-font-color; - z-index: 10; - padding: 0 10px; - background-color: #ffffff; - min-width: 120px; - } - - &::after { - content: " "; - display: block; - position: absolute; - top: -20px; - left: 0; - width: 100%; - border-top: 1px solid #dddddd; - } - } - - .edit-message { - display: none; - cursor: pointer; - } - - &.own:hover:not(.system) .edit-message { - display: inline-block; - } - - .delete-message { - display: none; - cursor: pointer; - } - - &.own:hover:not(.system) .delete-message { - display: inline-block; - } - - .user { - display: inline-block; - font-weight: 600; - color: #444444; - margin-right: 5px; - outline: none; - - &:hover { - color: #333333; - } - } - - .thumb { - position: absolute; - left: 0; - top: 0; - display: block; - width: 30px; - height: 30px; - } - - .info { - font-size: 10px; - color: @info-font-color; - } - - &.sequential { - padding-top: 5px; - margin-top: 0; - margin-bottom: 0; - min-height: 20px; - - .user { - display: none; - } - - .thumb { - display: none; - } - - .info { - position: absolute; - text-align: right; - left: -20px; - width: 55px; - - .time { - display: none; - } - - .edited { - display: inline-block; - } - - .edit-message { - float: left; - margin-left: 1px; - } - - .delete-message { - float: left; - } - } - - &:hover { - .time { - display: inline-block; - } - - .edited { - display: none; - } - } - } - - &.system { - .body { - color: @info-font-color; - font-style: italic; - text-transform: lowercase; - - em { - font-weight: 600; - } - } - } - - .avatar-initials { - line-height: 40px; - } - - a { - color: @link-font-color; - font-weight: 400; - - &:hover { - color: darken(@link-font-color, 10%); - text-decoration: underline; - } - } - - .body { - opacity: 1; - transition: opacity 1s linear; - } - - &.temp .body { - opacity: 0.5; - } - - &.msg-error .body { - text-decoration: line-through; - } - - .avatar .avatar-image { - height: 100%; - width: 100%; - min-height: 20px; - min-width: 20px; - display: block; - position: relative; - background-color: transparent; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - border-radius: 4px; - } - } - } - - .new-message { - margin: 0 -65px; - position: absolute; - background: #428bca; - border-radius: 20px; - width: 130px; - height: 30px; - text-align: center; - color: #ffffff; - line-height: 30px; - font-size: 0.8em; - cursor: pointer; - bottom: 8px; - left: 50%; - z-index: 5; - transition: transform 0.3s ease-out; - transform: translateY(-40px); - - &.not { - transform: translateY(100%); - } - } - - .error { - bottom: 40px; - position: fixed; - width: 100%; - background-color: #f7d799; - padding: 5px; - z-index: 8; - transition: transform 0.2s ease-out; - transform: translateY(100%); - - &.show { - transform: translateY(0); - } - } - } - - .footer { - flex: 1 0 @footer-min-height; - z-index: 10; - background-color: #fcfcfc; - border-top: 1px solid #e7e7e7; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - - .input-wrapper { - padding: 6px 6px 0; - padding-right: 30px; - - textarea { - display: block; - padding: 6px 8px; - padding-right: 38px; - overflow-y: auto; - resize: none; - border: 1px solid #e7e7e7; - border-radius: 5px; - max-height: 200px; - width: 100%; - font-size: 12px; - -webkit-appearance: none; - height: 28px; - line-height: normal; - background-color: #ffffff; - position: relative; - outline: none; - } - } - - .send-button { - float: right; - position: relative; - right: 7px; - top: -28px; - color: @secondary-font-color; - cursor: pointer; - transition: color 0.15s ease-out; - - &:hover { - color: @primary-font-color; - } - } - } - - .offline { - flex: 1 1 100%; - background-color: white; - padding: 1em 10px; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - - .offline-message { - padding: 1em 0; - } - - .message-sent { - text-align: center; - } - - form { - input, - textarea { - display: block; - width: 100%; - } - - textarea { - height: 3.5em; - } - - .buttons { - text-align: center; - } - - .error { - display: none; - background-color: #f7d799; - padding: 5px; - - &.show { - display: block; - } - } - } - } - } - } - - &.closed, - &.closed-offline { - .preview-wrapper { - height: 32px; - - .livechat-room .title .toolbar { - display: none; - } - - .messages { - display: none; - } - - .footer { - display: none; - } - - .offline { - display: none; - } - } - } + max-width: 960px; } .department-agents { diff --git a/app/livechat/client/views/app/livechatAppearance.html b/app/livechat/client/views/app/livechatAppearance.html index a6885d18a39..08353afc511 100644 --- a/app/livechat/client/views/app/livechatAppearance.html +++ b/app/livechat/client/views/app/livechatAppearance.html @@ -2,213 +2,124 @@ {{#requiresPermission 'view-livechat-manager'}}
-
-

{{_ "Settings"}}

-
-
- {{_ "Livechat_online"}} -
- - -
-
- -
- - -
-
-
- -
- - - - -
-
-
-
- {{_ "Livechat_offline"}} -
- -
- - - - -
-
-
- - -
-
- - -
-
- - -
-
- -
- - -
-
-
- - +

{{_ "Settings"}}

+ + +
+ {{_ "Livechat_online"}} +
+ + +
+
+ +
+ +
-
- - +
+
+ +
+ + + +
-
-
- {{_ "Livechat_registration_form"}} - - - - -
- - +
+
+
+ {{_ "Livechat_offline"}} +
+ +
+ + + +
-
-
- {{_ "Conversation_finished"}} -
- - +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ +
-
-
- -
- -
- -
-

{{_ "Preview"}}

- - - -
-
- {{#with sampleData}} -
-
-
-   - -
-

{{sampleTitle}}

-
- {{#if showOnline}} -
-
-
    - {{#each messages}} -
  • - {{> avatar username=u.username}} - {{u.username}} - - {{time}} - -
    - {{{body}}} -
    -
  • - {{/each}} -
-
-
- - {{/if}} - - {{#if showOfflineForm}} -
-

{{{sampleOfflineMessage}}}

- -
- - - - - - -
- -
-
-
- {{/if}} - - {{#if showOfflineSuccess}} -
-

{{{sampleOfflineSuccessMessage}}}

-
- {{/if}} - - {{#if showOfflineUnavailable}} -
-

{{{sampleOfflineUnavailableMessage}}}

-
- {{/if}} -
- {{/with}} +
+ + +
+
+ +
+
+
+ {{_ "Livechat_registration_form"}} + + + + +
+ + +
+
+
+ {{_ "Conversation_finished"}} +
+ + +
+
+
+ +
-
+ +
{{/requiresPermission}} diff --git a/app/livechat/client/views/app/livechatAppearance.js b/app/livechat/client/views/app/livechatAppearance.js index 307abd3f30a..8cfdfefd6ca 100644 --- a/app/livechat/client/views/app/livechatAppearance.js +++ b/app/livechat/client/views/app/livechatAppearance.js @@ -2,10 +2,8 @@ import { Meteor } from 'meteor/meteor'; import { Mongo } from 'meteor/mongo'; import { ReactiveVar } from 'meteor/reactive-var'; -import { Random } from 'meteor/random'; import { Template } from 'meteor/templating'; import s from 'underscore.string'; -import moment from 'moment'; import toastr from 'toastr'; import { t, handleError } from '../../../../utils'; @@ -14,22 +12,6 @@ import './livechatAppearance.html'; const LivechatAppearance = new Mongo.Collection('livechatAppearance'); Template.livechatAppearance.helpers({ - previewState() { - return Template.instance().previewState.get(); - }, - showOnline() { - return Template.instance().previewState.get().indexOf('offline') === -1; - }, - showOfflineForm() { - const state = Template.instance().previewState.get(); - return state === 'opened-offline' || state === 'closed-offline'; - }, - showOfflineSuccess() { - return Template.instance().previewState.get() === 'offline-success'; - }, - showOfflineUnavailable() { - return Template.instance().previewState.get() === 'offline-unavailable'; - }, color() { return Template.instance().color.get(); }, @@ -107,91 +89,11 @@ Template.livechatAppearance.helpers({ registrationFormMessage() { return Template.instance().registrationFormMessage.get(); }, - sampleColor() { - if (Template.instance().previewState.get().indexOf('offline') !== -1) { - return Template.instance().colorOffline.get(); - } - return Template.instance().color.get(); - }, - sampleTitle() { - if (Template.instance().previewState.get().indexOf('offline') !== -1) { - return Template.instance().titleOffline.get(); - } - return Template.instance().title.get(); - }, - sampleData() { - return { - messages: [ - { - _id: Random.id(), - u: { - username: 'guest', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'Hello', - sequential: null, - }, - { - _id: Random.id(), - u: { - username: 'rocketchat-agent', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'Hey, what can I help you with?', - sequential: null, - }, - { - _id: Random.id(), - u: { - username: 'guest', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'I\'m looking for informations about your product.', - sequential: null, - }, - { - _id: Random.id(), - u: { - username: 'rocketchat-agent', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'Our product is open source, you can do what you want with it! =D', - sequential: null, - }, - { - _id: Random.id(), - u: { - username: 'guest', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'Yay, thanks. That\'s awesome.', - sequential: null, - }, - { - _id: Random.id(), - u: { - username: 'rocketchat-agent', - }, - time: moment(this.ts).format('LT'), - date: moment(this.ts).format('LL'), - body: 'You\'re welcome.', - sequential: null, - }, - ], - }; - }, }); Template.livechatAppearance.onCreated(function() { this.subscribe('livechat:appearance'); - this.previewState = new ReactiveVar('opened'); - this.title = new ReactiveVar(null); this.color = new ReactiveVar(null); @@ -272,9 +174,6 @@ Template.livechatAppearance.onCreated(function() { }); Template.livechatAppearance.events({ - 'change .preview-mode'(e, instance) { - instance.previewState.set(e.currentTarget.value); - }, 'change .js-input-check'(e, instance) { instance[e.currentTarget.name].set(e.currentTarget.checked); }, diff --git a/app/livechat/client/views/app/livechatInstallation.html b/app/livechat/client/views/app/livechatInstallation.html index b8dbd5faac2..f91bcc4d665 100644 --- a/app/livechat/client/views/app/livechatInstallation.html +++ b/app/livechat/client/views/app/livechatInstallation.html @@ -1,18 +1,10 @@ diff --git a/app/livechat/client/views/app/livechatInstallation.js b/app/livechat/client/views/app/livechatInstallation.js index 45aea09287d..4c00cac4190 100644 --- a/app/livechat/client/views/app/livechatInstallation.js +++ b/app/livechat/client/views/app/livechatInstallation.js @@ -4,23 +4,7 @@ import s from 'underscore.string'; import { settings } from '../../../../settings'; import './livechatInstallation.html'; -const latestVersion = '1.0.0'; - Template.livechatInstallation.helpers({ - oldScript() { - const siteUrl = s.rtrim(settings.get('Site_Url'), '/'); - return ` - -`; - }, - script() { const siteUrl = s.rtrim(settings.get('Site_Url'), '/'); return ` @@ -28,9 +12,9 @@ Template.livechatInstallation.helpers({ (function(w, d, s, u) { w.RocketChat = function(c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u; var h = d.getElementsByTagName(s)[0], j = d.createElement(s); - j.async = true; j.src = '${ siteUrl }/livechat/${ latestVersion }/rocketchat-livechat.min.js?_=201903270000'; + j.async = true; j.src = '${ siteUrl }/livechat/rocketchat-livechat.min.js?_=201903270000'; h.parentNode.insertBefore(j, h); -})(window, document, 'script', '${ siteUrl }/livechat?version=${ latestVersion }'); +})(window, document, 'script', '${ siteUrl }/livechat'); `; }, diff --git a/app/livechat/lib/Assets.js b/app/livechat/lib/Assets.js index c7252b5406a..91cd262e1e4 100644 --- a/app/livechat/lib/Assets.js +++ b/app/livechat/lib/Assets.js @@ -1,29 +1 @@ -import { Autoupdate } from 'meteor/autoupdate'; - export const addServerUrlToIndex = (file) => file.replace('', ``); - -export const addServerUrlToHead = (head) => { - let baseUrl; - if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX && __meteor_runtime_config__.ROOT_URL_PATH_PREFIX.trim() !== '') { - baseUrl = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX; - } else { - baseUrl = '/'; - } - if (/\/$/.test(baseUrl) === false) { - baseUrl += '/'; - } - - return ` - - - - - ${ head } - - - - - `; -}; diff --git a/app/livechat/server/livechat.js b/app/livechat/server/livechat.js index b23ec41b373..a60126beda7 100644 --- a/app/livechat/server/livechat.js +++ b/app/livechat/server/livechat.js @@ -5,12 +5,9 @@ import { Meteor } from 'meteor/meteor'; import { WebApp } from 'meteor/webapp'; import { settings } from '../../settings/server'; -import { addServerUrlToIndex, addServerUrlToHead } from '../lib/Assets'; +import { addServerUrlToIndex } from '../lib/Assets'; -const latestVersion = '1.0.0'; const indexHtmlWithServerURL = addServerUrlToIndex(Assets.getText('livechat/index.html')); -const headHtmlWithServerURL = addServerUrlToHead(Assets.getText('livechat/head.html')); -const isLatestVersion = (version) => version && version === latestVersion; WebApp.connectHandlers.use('/livechat', Meteor.bindEnvironment((req, res, next) => { const reqUrl = url.parse(req.url); @@ -18,8 +15,6 @@ WebApp.connectHandlers.use('/livechat', Meteor.bindEnvironment((req, res, next) return next(); } - const { version } = req.query; - const html = isLatestVersion(version) ? indexHtmlWithServerURL : headHtmlWithServerURL; res.setHeader('content-type', 'text/html; charset=utf-8'); @@ -38,6 +33,6 @@ WebApp.connectHandlers.use('/livechat', Meteor.bindEnvironment((req, res, next) res.setHeader('X-FRAME-OPTIONS', `ALLOW-FROM ${ referer.protocol }//${ referer.host }`); } - res.write(html); + res.write(indexHtmlWithServerURL); res.end(); })); diff --git a/package-lock.json b/package-lock.json index 2d05ab2f8d4..ee4f3a7a600 100644 --- a/package-lock.json +++ b/package-lock.json @@ -556,6 +556,12 @@ "protobufjs": "^6.8.6" } }, + "@kossnocorp/desvg": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@kossnocorp/desvg/-/desvg-0.2.0.tgz", + "integrity": "sha512-Nj6hNLAgLftZD+LvCEomjuZfeVXGn/2/yXi63+GLeZlJNj5vxMe+uotd6Nygd9g9J/EwIkmWDSBTpJpeUu0LIw==", + "dev": true + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -696,6 +702,109 @@ "eslint-plugin-import": "^2.17.2" } }, + "@rocket.chat/livechat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rocket.chat/livechat/-/livechat-1.1.3.tgz", + "integrity": "sha512-OboWuyz2CVrOg6szWSSH1XT9pvyhO3sldvVwGt4V7gPGgh5bCSntETPniwORDMU/ak7SXAB1+y4UkICWp//x9g==", + "dev": true, + "requires": { + "@kossnocorp/desvg": "^0.2.0", + "@rocket.chat/sdk": "^1.0.0-alpha.28", + "date-fns": "^1.29.0", + "desvg": "^1.0.2", + "fast-async": "^6.3.8", + "history": "^4.7.2", + "i18n": "^0.8.3", + "i18nline": "^2.0.1", + "markdown-it": "^8.4.2", + "mem": "^4.2.0", + "msgpack": "^1.0.2", + "preact": "^8.2.6", + "preact-context": "^1.1.1", + "preact-i18nline": "^2.0.0", + "preact-router": "^2.5.7", + "query-string": "6.3.0", + "tiny-events": "^1.0.1", + "wolfy87-eventemitter": "^5.2.5" + }, + "dependencies": { + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "query-string": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.3.0.tgz", + "integrity": "sha512-jkpCkoHiAA2BYZvni5GieU3x860QDfkh2+M6bPnrYUywqOWbGwPq5VzntTS06ixX4GVHEiq2ZhlmGy/e9LQ3zA==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" + } + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true + } + } + }, + "@rocket.chat/sdk": { + "version": "1.0.0-alpha.28", + "resolved": "https://registry.npmjs.org/@rocket.chat/sdk/-/sdk-1.0.0-alpha.28.tgz", + "integrity": "sha512-tQ+tIIX5R931cxIlTTn2ftCfiIo372vCG3omzDwzSfw6Kq24f7giUxVEpWfsI4GtuTU4caoren7wuGYwnST/+A==", + "dev": true, + "requires": { + "@types/event-emitter": "^0.3.2", + "@types/eventemitter3": "^2.0.2", + "@types/lru-cache": "^4.1.0", + "@types/node": "^9.4.6", + "axios": "^0.18.0", + "create-hash": "^1.2.0", + "crypto-browserify": "^3.12.0", + "eventemitter3": "^3.1.0", + "js-sha256": "^0.9.0", + "lru-cache": "^4.1.1", + "mem": "^4.0.0", + "mqtt": "^2.18.8", + "msgpack": "^1.0.2", + "msgpack-lite": "^0.1.26", + "node-fetch": "^2.2.1", + "node-fetch-polyfill": "^2.0.6", + "protobufjs": "^6.8.8", + "sha256": "^0.2.0", + "tiny-events": "^1.0.1", + "universal-websocket-client": "^1.0.2", + "web-mqtt-client": "^1.3.1", + "ws": "^5.2.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, "@slack/client": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/@slack/client/-/client-4.8.0.tgz", @@ -756,9 +865,24 @@ "@types/node": "*" } }, + "@types/event-emitter": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.3.tgz", + "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==", + "dev": true + }, + "@types/eventemitter3": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/eventemitter3/-/eventemitter3-2.0.2.tgz", + "integrity": "sha1-lLV8JWjE8JR51kgS9iUxexKm7dA=", + "dev": true, + "requires": { + "eventemitter3": "*" + } + }, "@types/events": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==" }, "@types/express": { @@ -812,6 +936,12 @@ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" }, + "@types/lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-ve2IoUJClE+4S/sG2zoLGEHP6DCvqgyz7UkHZdiICdQaAYRaCXsRWfJlbL8B0KvUyo9lgzD+oR0YSy4YikFyFQ==", + "dev": true + }, "@types/mime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", @@ -1073,6 +1203,12 @@ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "acorn": { "version": "6.0.7", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.7.tgz", @@ -1157,6 +1293,39 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" }, + "ambi": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz", + "integrity": "sha1-fI43K+SIkRV+fOoBy2+RQ9H3QiA=", + "dev": true, + "requires": { + "editions": "^1.1.1", + "typechecker": "^4.3.0" + }, + "dependencies": { + "typechecker": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.7.0.tgz", + "integrity": "sha512-4LHc1KMNJ6NDGO+dSM/yNfZQRtp8NN7psYrPHUblD62Dvkwsp3VShsbM78kOgpcmMkRTgvwdKOTjctS+uMllgQ==", + "dev": true, + "requires": { + "editions": "^2.1.0" + }, + "dependencies": { + "editions": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.1.3.tgz", + "integrity": "sha512-xDZyVm0A4nLgMNWVVLJvcwMjI80ShiH/27RyLiCnW1L273TcJIA25C4pwJ33AWV01OX6UriP35Xu+lH4S7HWQw==", + "dev": true, + "requires": { + "errlop": "^1.1.1", + "semver": "^5.6.0" + } + } + } + } + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -1556,6 +1725,12 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, + "ast-types": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz", + "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==", + "dev": true + }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -1684,7 +1859,7 @@ }, "axios": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { "follow-redirects": "^1.3.0", @@ -2022,7 +2197,7 @@ }, "babel-plugin-add-module-exports": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz", "integrity": "sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU=", "dev": true }, @@ -2043,79 +2218,79 @@ }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, "babel-plugin-syntax-async-generators": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", "dev": true }, "babel-plugin-syntax-class-constructor-call": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", "dev": true }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", "dev": true }, "babel-plugin-syntax-decorators": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", "dev": true }, "babel-plugin-syntax-do-expressions": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", "dev": true }, "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", "dev": true }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", "dev": true }, "babel-plugin-syntax-export-extensions": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", "dev": true }, "babel-plugin-syntax-flow": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", "dev": true }, "babel-plugin-syntax-function-bind": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", "dev": true }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", "dev": true }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, @@ -2512,7 +2687,7 @@ }, "babel-preset-es2015": { "version": "6.3.13", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz", + "resolved": "http://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz", "integrity": "sha1-l9zn7ykuGMubK3VF2AxZPCjZUX8=", "dev": true, "requires": { @@ -2540,7 +2715,7 @@ }, "babel-preset-react": { "version": "6.3.13", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz", + "resolved": "http://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz", "integrity": "sha1-E9VeBqZfqqoHw5v2Op2DbgMhFvo=", "dev": true, "requires": { @@ -2554,7 +2729,7 @@ }, "babel-preset-stage-0": { "version": "6.3.13", - "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz", + "resolved": "http://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz", "integrity": "sha1-eKN8VvCzmI8qeZMtywzrj/N3sNE=", "dev": true, "requires": { @@ -3461,7 +3636,7 @@ }, "bl": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { "readable-stream": "^2.3.5", @@ -3845,7 +4020,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -3946,6 +4121,16 @@ "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=" }, + "callback-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", + "integrity": "sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "> 1.0.0 < 3.0.0" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -4201,7 +4386,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -4304,7 +4489,7 @@ }, "chimp": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz", + "resolved": "http://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz", "integrity": "sha1-6hIbzfJsidV/jvNBlUDPPCeaPMU=", "dev": true, "requires": { @@ -4350,7 +4535,7 @@ "dependencies": { "async": { "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true }, @@ -4422,7 +4607,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -4474,7 +4659,7 @@ }, "progress": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, @@ -4497,7 +4682,7 @@ }, "chokidar": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", + "resolved": "http://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", "dev": true, "requires": { @@ -4771,6 +4956,24 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" }, + "commist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", + "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", + "dev": true, + "requires": { + "leven": "^2.1.0", + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -4891,6 +5094,12 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, + "convert-hex": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/convert-hex/-/convert-hex-0.1.0.tgz", + "integrity": "sha1-CMBFaJIsJ3drii6BqV05M2LqC2U=", + "dev": true + }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", @@ -4900,6 +5109,12 @@ "safe-buffer": "~5.1.1" } }, + "convert-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/convert-string/-/convert-string-0.1.0.tgz", + "integrity": "sha1-ec5BqbsNA7z3LNxqjzxW+7xkQQo=", + "dev": true + }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", @@ -4997,6 +5212,12 @@ "buffer": "^5.1.0" } }, + "crc32": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", + "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", + "dev": true + }, "crc32-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", @@ -5104,6 +5325,12 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, + "csextends": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/csextends/-/csextends-1.2.0.tgz", + "integrity": "sha512-S/8k1bDTJIwuGgQYmsRoE+8P+ohV32WhQ0l4zqrc0XDdxOhjQQD7/wTZwCzoZX53jSX3V/qwjT+OkPTxWQcmjg==", + "dev": true + }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -5221,7 +5448,7 @@ "dependencies": { "core-js": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" } } @@ -5302,6 +5529,12 @@ } } }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -5615,7 +5848,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -5645,7 +5878,7 @@ }, "deprecate": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", "integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg=" }, "deprecated-decorator": { @@ -5667,6 +5900,12 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "desvg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/desvg/-/desvg-1.0.2.tgz", + "integrity": "sha1-Ie4odJ8ye/leFyWTF+1cghDnSzM=", + "dev": true + }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", @@ -5697,7 +5936,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -5764,7 +6003,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" } } @@ -5847,6 +6086,15 @@ "es5-ext": "~0.10.46" } }, + "eachr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/eachr/-/eachr-2.0.4.tgz", + "integrity": "sha1-Rm98qhBwj2EFCeMsgHqv5X/BIr8=", + "dev": true, + "requires": { + "typechecker": "^2.0.8" + } + }, "eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -5878,6 +6126,12 @@ "safe-buffer": "^5.0.1" } }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -6007,6 +6261,27 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, + "errlop": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/errlop/-/errlop-1.1.1.tgz", + "integrity": "sha512-WX7QjiPHhsny7/PQvrhS5VMizXXKoKCS3udaBp8gjlARdbn+XmK300eKBAAN0hGyRaTCtRpOaxK+xFVPUJ3zkw==", + "dev": true, + "requires": { + "editions": "^2.1.2" + }, + "dependencies": { + "editions": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.1.3.tgz", + "integrity": "sha512-xDZyVm0A4nLgMNWVVLJvcwMjI80ShiH/27RyLiCnW1L273TcJIA25C4pwJ33AWV01OX6UriP35Xu+lH4S7HWQw==", + "dev": true, + "requires": { + "errlop": "^1.1.1", + "semver": "^5.6.0" + } + } + } + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -6085,6 +6360,20 @@ "es6-symbol": "^3.1.1" } }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, "es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", @@ -6092,12 +6381,25 @@ }, "es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "requires": { "es6-promise": "^4.0.3" } }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", @@ -6497,6 +6799,22 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-lite": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/event-lite/-/event-lite-0.1.2.tgz", + "integrity": "sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==", + "dev": true + }, "eventemitter3": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", @@ -6504,7 +6822,7 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "evp_bytestokey": { @@ -6903,9 +7221,26 @@ } } }, + "extendr": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/extendr/-/extendr-2.1.0.tgz", + "integrity": "sha1-MBqgu+pWX00tyPVw8qImEahSe1Y=", + "dev": true, + "requires": { + "typechecker": "~2.0.1" + }, + "dependencies": { + "typechecker": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz", + "integrity": "sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4=", + "dev": true + } + } + }, "external-editor": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { @@ -6973,6 +7308,23 @@ } } }, + "extract-opts": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz", + "integrity": "sha1-H6KOunNSxttID4hc63GkaBC+bX0=", + "dev": true, + "requires": { + "typechecker": "~2.0.1" + }, + "dependencies": { + "typechecker": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz", + "integrity": "sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4=", + "dev": true + } + } + }, "extract-zip": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", @@ -6990,6 +7342,16 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, + "fast-async": { + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/fast-async/-/fast-async-6.3.8.tgz", + "integrity": "sha512-TjlooyqrYm/gOXjD2UHNwfrWkvTbzU105Nk4bvcRTeRoL+wIeK6rqbqDg3CN9z5p37cE2iXhP6SxQFz8OVIaUg==", + "dev": true, + "requires": { + "nodent-compiler": "^3.2.10", + "nodent-runtime": ">=3.2.1" + } + }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -7048,13 +7410,13 @@ "dependencies": { "lodash": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true }, "underscore.string": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", "dev": true } @@ -8024,6 +8386,12 @@ "assert-plus": "^1.0.0" } }, + "gglobby": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/gglobby/-/gglobby-0.0.3.tgz", + "integrity": "sha1-x9aGwf8spOiCpYrfOKfeJpG6f5k=", + "dev": true + }, "gherkin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-4.0.0.tgz", @@ -8103,6 +8471,24 @@ } } }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, "glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", @@ -8211,7 +8597,7 @@ "dependencies": { "minimist": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz", "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=", "dev": true } @@ -9066,7 +9452,7 @@ }, "hapi": { "version": "8.8.0", - "resolved": "https://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz", + "resolved": "http://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz", "integrity": "sha1-h+N6Bum0meiXkOLcERqpZotuYX8=", "dev": true, "requires": { @@ -9136,7 +9522,7 @@ }, "catbox": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz", + "resolved": "http://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz", "integrity": "sha1-IiN3vWfxKRrA4l0AAC0GWp3385o=", "dev": true, "requires": { @@ -9173,6 +9559,18 @@ "hoek": "2.x.x", "joi": "6.x.x", "wreck": "5.x.x" + }, + "dependencies": { + "wreck": { + "version": "5.6.1", + "resolved": "http://registry.npmjs.org/wreck/-/wreck-5.6.1.tgz", + "integrity": "sha1-r/ADBAATiJ11YZtccYcN0qjdBpo=", + "dev": true, + "requires": { + "boom": "2.x.x", + "hoek": "2.x.x" + } + } } }, "heavy": { @@ -9184,6 +9582,20 @@ "boom": "2.x.x", "hoek": "2.x.x", "joi": "5.x.x" + }, + "dependencies": { + "joi": { + "version": "5.1.0", + "resolved": "http://registry.npmjs.org/joi/-/joi-5.1.0.tgz", + "integrity": "sha1-FSrQfbjunGQBmX/1/SwSiWBwv1g=", + "dev": true, + "requires": { + "hoek": "^2.2.x", + "isemail": "1.x.x", + "moment": "2.x.x", + "topo": "1.x.x" + } + } } }, "hoek": { @@ -9233,7 +9645,7 @@ }, "joi": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-6.4.1.tgz", + "resolved": "http://registry.npmjs.org/joi/-/joi-6.4.1.tgz", "integrity": "sha1-9Q9CRTVgBo5jg9oVrC0w3Xzra24=", "dev": true, "requires": { @@ -9245,7 +9657,7 @@ "dependencies": { "isemail": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz", "integrity": "sha1-4Mj23D9HCX53dzlcaJYnGqJWw7U=", "dev": true }, @@ -9278,7 +9690,7 @@ "dependencies": { "mime-db": { "version": "1.14.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz", + "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz", "integrity": "sha1-1WHxC27mbbUflK5leilRp0IX7YM=", "dev": true } @@ -9549,6 +9961,18 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, + "help-me": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz", + "integrity": "sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y=", + "dev": true, + "requires": { + "callback-stream": "^1.0.2", + "glob-stream": "^6.1.0", + "through2": "^2.0.1", + "xtend": "^4.0.0" + } + }, "hepburn": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/hepburn/-/hepburn-1.1.1.tgz", @@ -9562,6 +9986,20 @@ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==" }, + "history": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/history/-/history-4.9.0.tgz", + "integrity": "sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^0.4.0" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -9815,48 +10253,163 @@ } } }, - "iced-error": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/iced-error/-/iced-error-0.0.13.tgz", - "integrity": "sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA==" - }, - "iced-lock": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iced-lock/-/iced-lock-1.1.0.tgz", - "integrity": "sha1-YRbvHKs6zW5rEIk7snumIv0/3nI=", - "requires": { - "iced-runtime": "^1.0.0" - } - }, - "iced-runtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.3.tgz", - "integrity": "sha1-LU9PuZmreqVDCxk8d6f85BGDGc4=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "i18n": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/i18n/-/i18n-0.8.3.tgz", + "integrity": "sha1-LYzxwkciYCwgQdAbpq5eqlE4jw4=", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "debug": "*", + "make-plural": "^3.0.3", + "math-interval-parser": "^1.1.0", + "messageformat": "^0.3.1", + "mustache": "*", + "sprintf-js": ">=1.0.3" } }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "i18n-js": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/i18n-js/-/i18n-js-3.3.0.tgz", + "integrity": "sha512-+m8jh84IIWlFwEJgwrWCkeIwIES9ilJKBOj5qx8ZTLLmlPz7bjKnCdxf254wRf6M4pkQHtgXGT9r9lGk0e9aug==", "dev": true }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "i18nline": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/i18nline/-/i18nline-2.0.1.tgz", + "integrity": "sha512-abACtOMahZSwCDL2C1Flqr+WxSQaWgVNCd74UGvsvkVdrt6mFyas2i6XUX74hio5hnGkc9u862t/4y68rIv8nQ==", + "dev": true, + "requires": { + "babel-traverse": "^6.0.0", + "babylon": "^6.0.0", + "chalk": "^2.3.2", + "crc32": "~0.2.2", + "esprima": "^4.0.0", + "extend": "^3.0.1", + "gglobby": "0.0.3", + "i18n-js": "^3.0.3", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "speakingurl": "^14.0.1", + "uevents": "^1.0.0", + "ulog": "^1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "iced-error": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/iced-error/-/iced-error-0.0.13.tgz", + "integrity": "sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA==" + }, + "iced-lock": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iced-lock/-/iced-lock-1.1.0.tgz", + "integrity": "sha1-YRbvHKs6zW5rEIk7snumIv0/3nI=", + "requires": { + "iced-runtime": "^1.0.0" + } + }, + "iced-runtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.3.tgz", + "integrity": "sha1-LU9PuZmreqVDCxk8d6f85BGDGc4=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" }, + "ignorefs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ignorefs/-/ignorefs-1.2.0.tgz", + "integrity": "sha1-2ln7hYl25KXkNwLM0fKC/byeV1Y=", + "dev": true, + "requires": { + "editions": "^1.3.3", + "ignorepatterns": "^1.1.0" + } + }, + "ignorepatterns": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ignorepatterns/-/ignorepatterns-1.1.0.tgz", + "integrity": "sha1-rI9DbyI5td+2bV8NOpBKh6xnzF4=", + "dev": true + }, "image-size": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", @@ -9878,7 +10431,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -10115,6 +10668,12 @@ } } }, + "int64-buffer": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.10.tgz", + "integrity": "sha1-J3siiofZWtd30HwTgyAiQGpHNCM=", + "dev": true + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -10153,6 +10712,16 @@ "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -10214,7 +10783,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -10355,6 +10924,12 @@ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", "dev": true }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -10375,7 +10950,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, "is-object": { @@ -10454,6 +11029,15 @@ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", "dev": true }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -10489,6 +11073,15 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -10530,7 +11123,7 @@ }, "isemail": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=" }, "isexe": { @@ -10566,7 +11159,7 @@ }, "jasmine-core": { "version": "2.99.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", + "resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", "dev": true }, @@ -10639,6 +11232,12 @@ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -10766,7 +11365,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -11059,7 +11658,7 @@ }, "promise": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", + "resolved": "http://registry.npmjs.org/promise/-/promise-6.1.0.tgz", "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", "optional": true, "requires": { @@ -11597,6 +12196,24 @@ "pify": "^3.0.0" } }, + "make-plural": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-3.0.6.tgz", + "integrity": "sha1-IDOgO6wpC487uRJY9lud9+iwHKc=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -11630,6 +12247,19 @@ "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==", "dev": true }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, "markdown-table": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz", @@ -11646,6 +12276,15 @@ "resolved": "https://registry.npmjs.org/match-at/-/match-at-0.1.1.tgz", "integrity": "sha512-h4Yd392z9mST+dzc+yjuybOGFNOZjmXIPKWjxBd1Bb23r4SmDOsk2NYCU2BMUBGbSpZqwVsZYNq26QS3xfaT3Q==" }, + "math-interval-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-interval-parser/-/math-interval-parser-1.1.0.tgz", + "integrity": "sha1-2+2lsGsySZc8bfYXD94jhvCv2JM=", + "dev": true, + "requires": { + "xregexp": "^2.0.0" + } + }, "math-random": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", @@ -11683,9 +12322,15 @@ "unist-util-visit": "^1.1.0" } }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { @@ -11870,6 +12515,40 @@ "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" }, + "messageformat": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-0.3.1.tgz", + "integrity": "sha1-5Y//gkXps5cXmeW0PbWLPpQX9aI=", + "dev": true, + "requires": { + "async": "~1.5.2", + "glob": "~6.0.4", + "make-plural": "~3.0.3", + "nopt": "~3.0.6", + "watchr": "~2.4.13" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "meteor-node-stubs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", @@ -12160,14 +12839,14 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minimist-options": { @@ -12255,7 +12934,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -12549,11 +13228,90 @@ } } }, + "mqtt": { + "version": "2.18.8", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.8.tgz", + "integrity": "sha512-3h6oHlPY/yWwtC2J3geraYRtVVoRM6wdI+uchF4nvSSafXPZnaKqF8xnX+S22SU/FcgEAgockVIlOaAX3fkMpA==", + "dev": true, + "requires": { + "commist": "^1.0.0", + "concat-stream": "^1.6.2", + "end-of-stream": "^1.4.1", + "es6-map": "^0.1.5", + "help-me": "^1.0.1", + "inherits": "^2.0.3", + "minimist": "^1.2.0", + "mqtt-packet": "^5.6.0", + "pump": "^3.0.0", + "readable-stream": "^2.3.6", + "reinterval": "^1.1.0", + "split2": "^2.1.1", + "websocket-stream": "^5.1.2", + "xtend": "^4.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "mqtt-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.6.1.tgz", + "integrity": "sha512-eaF9rO2uFrIYEHomJxziuKTDkbWW5psLBaIGCazQSKqYsTaB3n4SpvJ1PexKaDBiPnMLPIFWBIiTYT3IfEJfww==", + "dev": true, + "requires": { + "bl": "^1.2.1", + "inherits": "^2.0.3", + "process-nextick-args": "^2.0.0", + "safe-buffer": "^5.1.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "msgpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/msgpack/-/msgpack-1.0.2.tgz", + "integrity": "sha1-kj4sXP+mXIQY6bIo0RJHk5acQpw=", + "dev": true, + "requires": { + "nan": "^2.0.9" + } + }, + "msgpack-lite": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/msgpack-lite/-/msgpack-lite-0.1.26.tgz", + "integrity": "sha1-3TxQsm8FnyXn7e42REGDWOKprYk=", + "dev": true, + "requires": { + "event-lite": "^0.1.1", + "ieee754": "^1.1.8", + "int64-buffer": "^0.1.9", + "isarray": "^1.0.0" + } + }, + "mustache": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", + "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==", + "dev": true + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -12613,7 +13371,7 @@ }, "ncp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", "optional": true }, @@ -12666,6 +13424,17 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" }, + "node-fetch-polyfill": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-fetch-polyfill/-/node-fetch-polyfill-2.0.6.tgz", + "integrity": "sha1-BzzjrWgmvbmVqHKM/E44I/IEQHo=", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1", + "node-web-streams": "^0.2.1" + } + }, "node-fingerprint": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/node-fingerprint/-/node-fingerprint-0.0.2.tgz", @@ -12864,6 +13633,16 @@ } } }, + "node-web-streams": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/node-web-streams/-/node-web-streams-0.2.2.tgz", + "integrity": "sha1-CH52u+t+jcVmhrJdtOYMX/nbCR8=", + "dev": true, + "requires": { + "is-stream": "^1.1.0", + "web-streams-polyfill": "git://github.com/gwicke/web-streams-polyfill.git#42c488428adea1dc0c0245014e4896ad456b1ded" + } + }, "nodejieba": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/nodejieba/-/nodejieba-2.3.0.tgz", @@ -12886,11 +13665,52 @@ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.6.8.tgz", "integrity": "sha512-A3s7EM/426OBIZbLHXq2KkgvmKbn2Xga4m4G+ZUA4IaZvG8PcZXrFh+2E4VaS2o+emhuUVRnzKN2YmpkXQ9qwA==" }, + "nodent-compiler": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.2.11.tgz", + "integrity": "sha512-rfDrGWdgIJYomPUzR8nXiWNuIhJ7cVodPeZP3Ho65LEycuaX2uVNZ0ytpcfrmUKzdFeLRtye9+pHe8OynPZuPQ==", + "dev": true, + "requires": { + "acorn": ">= 2.5.2 <= 5.7.3", + "acorn-es7-plugin": "^1.1.7", + "nodent-transform": "^3.2.9", + "source-map": "^0.5.7" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + } + } + }, + "nodent-runtime": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/nodent-runtime/-/nodent-runtime-3.2.1.tgz", + "integrity": "sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA==", + "dev": true + }, + "nodent-transform": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/nodent-transform/-/nodent-transform-3.2.9.tgz", + "integrity": "sha512-4a5FH4WLi+daH/CGD5o/JWRR8W5tlCkd3nrDSkxbOzscJTyTUITltvOJeQjg3HJ1YgEuNyiPhQbvbtRjkQBByQ==", + "dev": true + }, "noop-logger": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -12921,7 +13741,7 @@ }, "npm-install-package": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", "dev": true }, @@ -12936,7 +13756,7 @@ "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -13154,6 +13974,15 @@ "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "os-browserify": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", @@ -13166,7 +13995,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "^1.0.0" @@ -13499,7 +14328,7 @@ }, "es6-promise": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=", "dev": true }, @@ -13555,7 +14384,7 @@ }, "progress": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, @@ -14362,6 +15191,93 @@ "eastasianwidth": "^0.2.0" } }, + "preact": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.5.1.tgz", + "integrity": "sha512-YVnCgcboxGrorFVIPjViqkEPOtfYVDxn5GOJuXHQZiOty+JOw7A+1xJytv/mb1O2QIIRC0SyT+kapA7Wj3jdZA==", + "dev": true + }, + "preact-context": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/preact-context/-/preact-context-1.1.3.tgz", + "integrity": "sha512-2LcpjZG6JUhBgqziVH+nJtmu9PS5KzWoFx6wX2svXw0oBHhU6e8tQZhEkKLMOAxdmj7gVzApfS/B6V+fjJ/llA==", + "dev": true + }, + "preact-i18nline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/preact-i18nline/-/preact-i18nline-2.0.0.tgz", + "integrity": "sha512-49AOtFcg7TOpzQU6zNNN5uGbIBNRnFJmBgE43VxUw+eTsk9QQme2Wj7m0jDVmO/4XT8Q+T4q4riZCHxMy5mY2g==", + "dev": true, + "requires": { + "chalk": "^2.3.2", + "esprima": "^4.0.0", + "extend": "^3.0.1", + "i18nline": "^2.0.1", + "invariant": "^2.2.4", + "preact": "^8.2.7", + "recast": "^0.14.7", + "through2": "^2.0.3", + "ulog": "^1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "preact-router": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/preact-router/-/preact-router-2.6.1.tgz", + "integrity": "sha512-Ql3fptQ8hiioIw5zUcWUq5NShl7yFR4e6KBUzLbGI7+HKMIgBnH+aOITN5IrY1rbr2vhKXBdHdd9nLbbjcJTOQ==", + "dev": true + }, "prebuild-install": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", @@ -14387,7 +15303,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "simple-get": { @@ -14706,7 +15622,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } @@ -14722,7 +15638,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -14756,7 +15672,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -14819,7 +15735,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -14842,6 +15758,32 @@ "readable-stream": "^2.0.2" } }, + "recast": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.14.7.tgz", + "integrity": "sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==", + "dev": true, + "requires": { + "ast-types": "0.11.3", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "redent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", @@ -14931,7 +15873,7 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", "dev": true }, @@ -14952,6 +15894,12 @@ } } }, + "reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=", + "dev": true + }, "remark": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz", @@ -15117,7 +16065,7 @@ }, "requestretry": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz", + "resolved": "http://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz", "integrity": "sha1-7RV7ulNSbt6z7DKo5wSkmYvs5ic=", "dev": true, "requires": { @@ -15197,6 +16145,12 @@ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, + "resolve-pathname": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", + "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==", + "dev": true + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -15243,7 +16197,7 @@ }, "rimraf": { "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", "requires": { "glob": "^6.0.1" @@ -15338,12 +16292,21 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { "ret": "~0.1.10" } }, + "safefs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/safefs/-/safefs-3.2.2.tgz", + "integrity": "sha1-gXDBRE1wOOCMrqBaN0+uL6NJ4Vw=", + "dev": true, + "requires": { + "graceful-fs": "*" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -15360,9 +16323,20 @@ }, "sax": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "resolved": "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz", "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" }, + "scandirectory": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/scandirectory/-/scandirectory-2.5.0.tgz", + "integrity": "sha1-bOA/VKCQtmjjy+2/IO354xBZPnI=", + "dev": true, + "requires": { + "ignorefs": "^1.0.0", + "safefs": "^3.1.2", + "taskgroup": "^4.0.5" + } + }, "schema-inspector": { "version": "1.6.8", "resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-1.6.8.tgz", @@ -15373,7 +16347,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" } } @@ -15458,7 +16432,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -15549,6 +16523,16 @@ "safe-buffer": "^5.0.1" } }, + "sha256": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sha256/-/sha256-0.2.0.tgz", + "integrity": "sha1-c6C0GNqrcDW/+G6EkeNjQS/CqwU=", + "dev": true, + "requires": { + "convert-hex": "~0.1.0", + "convert-string": "~0.1.0" + } + }, "sharp": { "version": "0.22.1", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz", @@ -15922,6 +16906,15 @@ "extend-shallow": "^3.0.0" } }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, "sprintf-js": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", @@ -16181,7 +17174,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -16625,6 +17618,16 @@ "xtend": "^4.0.0" } }, + "taskgroup": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/taskgroup/-/taskgroup-4.3.1.tgz", + "integrity": "sha1-feGT/r12gnPEV3MElwJNUSwnkVo=", + "dev": true, + "requires": { + "ambi": "^2.2.0", + "csextends": "^1.0.3" + } + }, "tcp-port-used": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", @@ -16748,7 +17751,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -16761,6 +17764,16 @@ "xtend": "~4.0.1" } }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, "timers-browserify": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", @@ -16774,6 +17787,18 @@ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==" }, + "tiny-events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tiny-events/-/tiny-events-1.0.1.tgz", + "integrity": "sha1-dGkOmau4pDyP7TI2o8OHKyfOY3Y=", + "dev": true + }, + "tiny-invariant": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz", + "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==", + "dev": true + }, "tiny-secp256k1": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.0.1.tgz", @@ -16786,6 +17811,12 @@ "nan": "^2.10.0" } }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "dev": true + }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", @@ -16806,6 +17837,16 @@ "os-tmpdir": "~1.0.2" } }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -17066,6 +18107,12 @@ "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" }, + "typechecker": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.1.0.tgz", + "integrity": "sha1-0cIJOlT/ihn1jP+HfuqlTyJC04M=", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -17091,6 +18138,12 @@ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" }, + "uevents": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uevents/-/uevents-1.0.0.tgz", + "integrity": "sha1-IAXppHL7CkbIJuz9GJrtmI7F6+E=", + "dev": true + }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", @@ -17115,6 +18168,18 @@ "random-bytes": "~1.0.0" } }, + "ulog": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ulog/-/ulog-1.1.0.tgz", + "integrity": "sha512-oQDYGh4w/ykGSpffEuwkqFnL5BYJa5HeV5PhpkjuAFwJCyjp2KjT2YDcFa8y4ie8kejdXMwpFCSF6HNM5Kia4g==", + "dev": true + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, "unbzip2-stream": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", @@ -17125,6 +18190,12 @@ "through": "^2.3.8" } }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", @@ -17219,6 +18290,16 @@ "imurmurhash": "^0.1.4" } }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -17294,6 +18375,28 @@ "os-name": "^3.0.0" } }, + "universal-websocket-client": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/universal-websocket-client/-/universal-websocket-client-1.0.2.tgz", + "integrity": "sha512-Pi6BdJtEAISb77GTbOLBLIWdYGezXgnJejrVBYKXxzNTsLcjJS+mWIJ2BRZElSlOG/wc7+yfOe5y30bzTu3Qqg==", + "dev": true, + "requires": { + "ws": "^3.3.3" + }, + "dependencies": { + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, "unorm": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", @@ -17444,7 +18547,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" } } @@ -17508,6 +18611,12 @@ "resolved": "https://registry.npmjs.org/validator/-/validator-7.2.0.tgz", "integrity": "sha512-c8NGTUYeBEcUIGeMppmNVKHE7wwfm3mYbNZxV+c5mlv9fDHI7Ad3p07qfNrn/CvpdkK2k61fOLRO2sTEhgQXmg==" }, + "value-equal": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", + "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==", + "dev": true + }, "varuint-bitcoin": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.0.tgz", @@ -17651,6 +18760,22 @@ } } }, + "watchr": { + "version": "2.4.13", + "resolved": "https://registry.npmjs.org/watchr/-/watchr-2.4.13.tgz", + "integrity": "sha1-10hHu01vkPYf4sdPn2hmKqDgdgE=", + "dev": true, + "requires": { + "eachr": "^2.0.2", + "extendr": "^2.1.0", + "extract-opts": "^2.2.0", + "ignorefs": "^1.0.0", + "safefs": "^3.1.2", + "scandirectory": "^2.5.0", + "taskgroup": "^4.2.0", + "typechecker": "^2.0.8" + } + }, "wdio-dot-reporter": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz", @@ -17697,6 +18822,12 @@ "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" }, + "web-mqtt-client": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/web-mqtt-client/-/web-mqtt-client-1.3.1.tgz", + "integrity": "sha512-xgiYHhezU262KFi7Ky/2bVmiq3QPmaS84HpHu1C6Hhb5N1THdhANEsHv5ws8N1jTAv6r0qyG0xB60UuD9JkUuQ==", + "dev": true + }, "web-resource-inliner": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.3.2.tgz", @@ -17713,6 +18844,11 @@ "xtend": "^4.0.0" } }, + "web-streams-polyfill": { + "version": "git://github.com/gwicke/web-streams-polyfill.git#42c488428adea1dc0c0245014e4896ad456b1ded", + "from": "git://github.com/gwicke/web-streams-polyfill.git#spec_performance_improvements", + "dev": true + }, "webdav": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/webdav/-/webdav-2.0.0.tgz", @@ -17941,6 +19077,33 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, + "websocket-stream": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.0.tgz", + "integrity": "sha512-EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==", + "dev": true, + "requires": { + "duplexify": "^3.5.1", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "safe-buffer": "^5.1.2", + "ws": "^3.2.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, "wgxpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz", @@ -18053,7 +19216,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", @@ -18157,7 +19320,7 @@ }, "xolvio-ddp": { "version": "0.12.3", - "resolved": "https://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz", + "resolved": "http://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz", "integrity": "sha1-NqarlhKyQLWg0cCoNJCK8XwLjwI=", "dev": true, "requires": { @@ -18182,7 +19345,7 @@ }, "async": { "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true }, @@ -18194,7 +19357,7 @@ }, "bl": { "version": "0.9.5", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz", "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", "dev": true, "requires": { @@ -18203,7 +19366,7 @@ }, "bluebird": { "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", "dev": true }, @@ -18215,7 +19378,7 @@ }, "combined-stream": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", "dev": true, "requires": { @@ -18236,7 +19399,7 @@ }, "form-data": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", "dev": true, "requires": { @@ -18276,13 +19439,13 @@ }, "mime-db": { "version": "1.12.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=", "dev": true }, "mime-types": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", "dev": true, "requires": { @@ -18309,7 +19472,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -18321,7 +19484,7 @@ }, "request": { "version": "2.53.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.53.0.tgz", + "resolved": "http://registry.npmjs.org/request/-/request-2.53.0.tgz", "integrity": "sha1-GAo66St7Y5gC5PlUXdj83rcddgw=", "dev": true, "requires": { @@ -18360,7 +19523,7 @@ }, "xolvio-fiber-utils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz", + "resolved": "http://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz", "integrity": "sha1-vsjXDHQGGjFjFbun0w0lyz6C3FA=", "dev": true, "requires": { @@ -18378,7 +19541,7 @@ }, "xolvio-jasmine-expect": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz", "integrity": "sha1-vCud1ghCMR8EV59agtzqaisxnH0=", "dev": true, "requires": { @@ -18417,6 +19580,12 @@ "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz", "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==" }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "dev": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -18439,7 +19608,7 @@ }, "yargs": { "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { "camelcase": "^2.0.1", diff --git a/package.json b/package.json index a6574c3d2c2..975479923e2 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,7 @@ "devDependencies": { "@octokit/rest": "^16.1.0", "@rocket.chat/eslint-config": "^0.3.0", + "@rocket.chat/livechat": "^1.1.4", "acorn": "^6.0.7", "autoprefixer": "^9.4.1", "babel-eslint": "^10.0.1", diff --git a/packages/rocketchat-i18n/i18n/de-IN.i18n.json b/packages/rocketchat-i18n/i18n/de-IN.i18n.json index c3e3562afa2..3be7ee4e345 100644 --- a/packages/rocketchat-i18n/i18n/de-IN.i18n.json +++ b/packages/rocketchat-i18n/i18n/de-IN.i18n.json @@ -2900,7 +2900,6 @@ "Today": "Heute", "To_additional_emails": "Zu zusätzlichen E-Mails", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Um den Rocket.Chat-Livechat auf Deiner Webseite zu installieren, kopiere den Code und füge ihn oberhalb des letzten </body>-Tags Deiner Seite ein.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Um die neue Version von Rocket.Chat Livechat auf Ihrer Website zu installieren, kopieren & fügen diesen Code oberhalb des letzten </body>-Tags auf Ihrer Website ein.", "to_see_more_details_on_how_to_integrate": "um weitere Informationen zur Integration zu sehen", "To_users": "An Benutzer", "Toggle_original_translated": "Zwischen \"Original\" und \"Übersetzt\" wechseln", diff --git a/packages/rocketchat-i18n/i18n/de.i18n.json b/packages/rocketchat-i18n/i18n/de.i18n.json index df0fe83b51a..9b758ebbe45 100644 --- a/packages/rocketchat-i18n/i18n/de.i18n.json +++ b/packages/rocketchat-i18n/i18n/de.i18n.json @@ -2927,7 +2927,6 @@ "Today": "Heute", "To_additional_emails": "Zu zusätzlichen E-Mails", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Um den Rocket.Chat-LiveChat auf Ihrer Webseite zu installieren, kopieren und fügen Sie den Code oberhalb des letzten </body>-Tags Ihrer Seite ein.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Um die neue Version von Rocket.Chat Livechat auf Ihrer Website zu installieren, kopieren & fügen Sie diesen Code oberhalb des letzten </body>-Tags auf Ihrer Website ein.", "to_see_more_details_on_how_to_integrate": "um weitere Informationen zur Integration zu sehen", "To_users": "An Benutzer", "Toggle_original_translated": "Zwischen \"Original\" und \"Übersetzt\" wechseln", @@ -3284,4 +3283,4 @@ "Your_question": "Ihre Frage", "Your_server_link": "Ihre Serververbindung", "Your_workspace_is_ready": "Ihr Arbeitsbereich ist einsatzbereit 🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 2ae2d602fbe..70e7d5c50ea 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2980,7 +2980,6 @@ "Today": "Today", "To_additional_emails": "To additional emails", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "To install Rocket.Chat Livechat in your website, copy & paste this code above the last </body> tag on your site.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "To install the new version of Rocket.Chat Livechat in your website, copy & paste this code above the last </body> tag on your site.", "to_see_more_details_on_how_to_integrate": "to see more details on how to integrate.", "To_users": "To Users", "Toggle_original_translated": "Toggle original/translated", @@ -3339,4 +3338,4 @@ "Your_question": "Your question", "Your_server_link": "Your server link", "Your_workspace_is_ready": "Your workspace is ready to use 🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/hu.i18n.json b/packages/rocketchat-i18n/i18n/hu.i18n.json index dd90dd49bcf..3a4c6568ca5 100644 --- a/packages/rocketchat-i18n/i18n/hu.i18n.json +++ b/packages/rocketchat-i18n/i18n/hu.i18n.json @@ -2863,7 +2863,6 @@ "Today": "Ma", "To_additional_emails": "További e-mailek", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Telepíteni Rocket.Chat GYIK a honlapon, másolja be ezt a kódot a fenti utolsó </body> tag a webhelyen.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Hogy telepítsd a Rocket.Chat LiveChat új verzióját a weboldaladra, másold és illeszd be a fenti kódot az utolsó </body> html tag elé.", "to_see_more_details_on_how_to_integrate": "További részletek megtekintéséhez, hogyan integrálják.", "To_users": "Ahhoz, hogy a felhasználók", "Toggle_original_translated": "Váltás az eredeti / lefordítva", diff --git a/packages/rocketchat-i18n/i18n/ja.i18n.json b/packages/rocketchat-i18n/i18n/ja.i18n.json index 438e8af0216..8b4b0e2053e 100644 --- a/packages/rocketchat-i18n/i18n/ja.i18n.json +++ b/packages/rocketchat-i18n/i18n/ja.i18n.json @@ -2978,7 +2978,6 @@ "Today": "今日", "To_additional_emails": "追加のメールへ", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Webサイトへ Rocket.Chat ライブチャットを導入するには、あなたのサイトの </body> タグの前に、このコードをコピー & ペーストしてください。", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Webサイトへ新しいバージョンのRocket.Chat ライブチャットを導入するには、あなたのサイトの最後の </body> タグの前に、このコードをコピー & ペーストしてください。", "to_see_more_details_on_how_to_integrate": "統合する方法の詳細を確認してください。", "To_users": "宛先ユーザー", "Toggle_original_translated": "元に戻す/翻訳済み", @@ -3337,4 +3336,4 @@ "Your_question": "あなたの質問", "Your_server_link": "サーバーのURLはこちら", "Your_workspace_is_ready": "ワークスペースの準備ができました🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index c6ad9e5f840..5a0bb7fd7b4 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -2871,7 +2871,6 @@ "Today": "Hoje", "To_additional_emails": "Para e-mails adicionais", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Para instalar Rocket.Chat Livechat no seu website, copie e cole este código acima da última tag </ body> em seu site.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Para instalar a nova versão do Rocket.Chat Livechat no seu website, copie e cole este código acima da última tag </ body> em seu site.", "to_see_more_details_on_how_to_integrate": "para ver mais detalhes sobre como integrar.", "To_users": "Para Usuários", "Toggle_original_translated": "Alternar original / traduzido", @@ -3227,4 +3226,4 @@ "Your_question": "A sua pergunta", "Your_server_link": "O link do seu servidor", "Your_workspace_is_ready": "O seu espaço de trabalho está pronto a usar 🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/pt.i18n.json b/packages/rocketchat-i18n/i18n/pt.i18n.json index e133a31e0bc..9603569fe0e 100644 --- a/packages/rocketchat-i18n/i18n/pt.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt.i18n.json @@ -2860,7 +2860,6 @@ "Today": "Hoje", "To_additional_emails": "Para emails adicionais", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Para instalar Rocket.Chat Livechat no seu website, copie e cole este código acima da última tag </ body> em seu site.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Para instalar a nova versão do Rocket.Chat Livechat no seu website, copie e cole este código acima da última tag </ body> em seu site.", "to_see_more_details_on_how_to_integrate": "para ver mais detalhes sobre como integrar.", "To_users": "Para Utilizadores", "Toggle_original_translated": "Alternar original / traduzido", @@ -3209,4 +3208,4 @@ "Your_question": "A sua pergunta", "Your_server_link": "O link do seu servidor", "Your_workspace_is_ready": "O seu espaço de trabalho está pronto a usar 🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/ru.i18n.json b/packages/rocketchat-i18n/i18n/ru.i18n.json index ff721191638..ce5281ccc71 100644 --- a/packages/rocketchat-i18n/i18n/ru.i18n.json +++ b/packages/rocketchat-i18n/i18n/ru.i18n.json @@ -2967,7 +2967,6 @@ "Today": "Сегодня", "To_additional_emails": "Дополнительные email адресаты", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Для того, чтобы установить Rocket.Chat Livechat на вашем сайте, скопируйте и вставьте этот код выше последнего </body> тега на вашем сайте.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Чтобы установить новую версию Rocket.Chat Livechat на свой веб-сайт, скопируйте & вставьте этот код над последним тегом < / body > на своем сайте.", "to_see_more_details_on_how_to_integrate": "чтобы увидеть более подробную информацию о том, как интегрировать.", "To_users": "Пользователям", "Toggle_original_translated": "Переключить оригинал/перевод", diff --git a/packages/rocketchat-i18n/i18n/tr.i18n.json b/packages/rocketchat-i18n/i18n/tr.i18n.json index d1b500fe302..46354070513 100644 --- a/packages/rocketchat-i18n/i18n/tr.i18n.json +++ b/packages/rocketchat-i18n/i18n/tr.i18n.json @@ -2883,7 +2883,6 @@ "Today": "Bugün", "To_additional_emails": "Ek e-postalara", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": ", Web sitenize Rocket.Chat LIVECHAT yüklemek için kopyalayıp sitenizde son </body> etiketinin üzerinde bu kodu yapıştırın.", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Websitenize Rocket.Chat Livechat'in yeni sürümünü yüklemek için, bu kodu kopyalayıp sitenizdeki son </body> tag'inin üstüne yapıştırın.", "to_see_more_details_on_how_to_integrate": "entegre etmek konusunda daha fazla ayrıntı görmek için.", "To_users": "Kullanıcılara", "Toggle_original_translated": "Orijinal / çevrilmiş", @@ -3239,4 +3238,4 @@ "Your_question": "Sorunuz", "Your_server_link": "Sunucu bağlantınız", "Your_workspace_is_ready": "Çalışma alanınız kullanılmaya hazır 🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/i18n/zh.i18n.json b/packages/rocketchat-i18n/i18n/zh.i18n.json index 5df5a77121b..43157639f93 100644 --- a/packages/rocketchat-i18n/i18n/zh.i18n.json +++ b/packages/rocketchat-i18n/i18n/zh.i18n.json @@ -2954,7 +2954,6 @@ "Today": "今天", "To_additional_emails": "额外的电子邮件", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "要在您的网站中安装 Rocket.Chat 即时聊天,请将以下代码复制粘贴到您的网页代码中最后一个 </body> 标签之上。", - "To_install_the_new_version_of_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "要安装 Rocket.Chat 实时聊天的 新版本 复制和粘贴此代码在你站点的最后一个</body> 标签上方。", "to_see_more_details_on_how_to_integrate": "以便查看更多关于集成的细节。", "To_users": "给用户", "Toggle_original_translated": "切换地区/语言", @@ -3313,4 +3312,4 @@ "Your_question": "你的问题", "Your_server_link": "您的服务器链接", "Your_workspace_is_ready": "您的工作区已准备好使用🎉" -} \ No newline at end of file +} diff --git a/packages/rocketchat-i18n/package.js b/packages/rocketchat-i18n/package.js index 9d0c51b020c..f01533c51d1 100644 --- a/packages/rocketchat-i18n/package.js +++ b/packages/rocketchat-i18n/package.js @@ -6,7 +6,6 @@ Package.describe({ }); const additionalPackages = { - livechat: 'rocketchat-livechat/.app/i18n', }; const fs = Npm.require('fs'); diff --git a/packages/rocketchat-livechat/.app/.eslintrc b/packages/rocketchat-livechat/.app/.eslintrc deleted file mode 100644 index d7f15dd26e8..00000000000 --- a/packages/rocketchat-livechat/.app/.eslintrc +++ /dev/null @@ -1,31 +0,0 @@ -{ - "extends": ["@rocket.chat/eslint-config"], - "parser": "babel-eslint", - "globals": { - "AgentUsers" : false, - "CachedChatSubscription" : false, - "ChatMessage" : false, - "ChatMessages" : false, - "chatMessages" : false, - "ChatRoom" : false, - "ChatSubscription" : false, - "Department" : false, - "getAvatarUrlFromUsername" : false, - "getNextAgent" : false, - "handleError" : false, - "LivechatCustomField" : false, - "LivechatDepartment" : false, - "LivechatDepartmentAgents" : false, - "livechatManagerRoutes" : true, - "LivechatMonitoring" : false, - "LivechatPageVisited" : false, - "LivechatTrigger" : false, - "parentCall" : false, - "RoomHistoryManager" : false, - "RoomManager" : false, - "t" : false, - "Trigger" : false, - "Triggers" : false, - "visitor" : false - } -} diff --git a/packages/rocketchat-livechat/.app/.meteor/.finished-upgraders b/packages/rocketchat-livechat/.app/.meteor/.finished-upgraders deleted file mode 100644 index 8f397c7dad0..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/.finished-upgraders +++ /dev/null @@ -1,19 +0,0 @@ -# This file contains information which helps Meteor properly upgrade your -# app when you run 'meteor update'. You should check it into version control -# with your project. - -notices-for-0.9.0 -notices-for-0.9.1 -0.9.4-platform-file -notices-for-facebook-graph-api-2 -1.2.0-standard-minifiers-package -1.2.0-meteor-platform-split -1.2.0-cordova-changes -1.2.0-breaking-changes -1.3.0-split-minifiers-package -1.3.5-remove-old-dev-bundle-link -1.4.0-remove-old-dev-bundle-link -1.4.1-add-shell-server-package -1.4.3-split-account-service-packages -1.5-add-dynamic-import-package -1.7-split-underscore-from-meteor-base diff --git a/packages/rocketchat-livechat/.app/.meteor/.gitignore b/packages/rocketchat-livechat/.app/.meteor/.gitignore deleted file mode 100644 index 501f92e4b5e..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -dev_bundle -local diff --git a/packages/rocketchat-livechat/.app/.meteor/.id b/packages/rocketchat-livechat/.app/.meteor/.id deleted file mode 100644 index c44fdb442e0..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/.id +++ /dev/null @@ -1,7 +0,0 @@ -# This file contains a token that is unique to your project. -# Check it into your repository along with the rest of this directory. -# It can be used for purposes such as: -# - ensuring you don't accidentally deploy one app on top of another -# - providing package authors with aggregated statistics - -90q00kzhqkdn1l0ptwl diff --git a/packages/rocketchat-livechat/.app/.meteor/packages b/packages/rocketchat-livechat/.app/.meteor/packages deleted file mode 100644 index 4cb36615f8a..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/packages +++ /dev/null @@ -1,41 +0,0 @@ -# Meteor packages used by this project, one per line. -# Check this file (and the other files in this directory) into your repository. -# -# 'meteor add' and 'meteor remove' will edit this file for you, -# but you can also edit it by hand. - -meteor@1.9.2 -webapp@1.7.1 -logging@1.1.20 -tracker@1.2.0 -deps@1.0.12 -session@1.2.0 -ddp@1.4.0 -livedata@1.0.18 -mongo@1.6.0 -blaze -ui -spacebars -templating -check@1.3.1 -jquery@1.11.10 -random@1.1.0 -ejson@1.1.0 -rocketchat:streamer -kadira:flow-router -kadira:blaze-layout -konecty:nrr -less@2.8.0 -momentjs:moment -mizzao:timesync -reactive-var@1.0.11 -accounts-password@1.5.1 -rocketchat:tap-i18n -ecmascript@0.12.3 -es5-shim@4.8.0 -standard-minifier-css@1.5.2 -standard-minifier-js@2.4.0 -shell-server@0.4.0 -dynamic-import@0.5.0 - -konecty:user-presence diff --git a/packages/rocketchat-livechat/.app/.meteor/platforms b/packages/rocketchat-livechat/.app/.meteor/platforms deleted file mode 100644 index 8a3a35f9f62..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/platforms +++ /dev/null @@ -1,2 +0,0 @@ -browser -server diff --git a/packages/rocketchat-livechat/.app/.meteor/release b/packages/rocketchat-livechat/.app/.meteor/release deleted file mode 100644 index 2299ae70d95..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/release +++ /dev/null @@ -1 +0,0 @@ -METEOR@1.8.0.1 diff --git a/packages/rocketchat-livechat/.app/.meteor/versions b/packages/rocketchat-livechat/.app/.meteor/versions deleted file mode 100644 index 0b95b454765..00000000000 --- a/packages/rocketchat-livechat/.app/.meteor/versions +++ /dev/null @@ -1,98 +0,0 @@ -accounts-base@1.4.3 -accounts-password@1.5.1 -aldeed:simple-schema@1.5.4 -allow-deny@1.1.0 -babel-compiler@7.2.3 -babel-runtime@1.3.0 -base64@1.0.11 -binary-heap@1.0.11 -blaze@2.3.3 -blaze-tools@1.0.10 -boilerplate-generator@1.6.0 -caching-compiler@1.2.1 -caching-html-compiler@1.1.3 -callback-hook@1.1.0 -cfs:http-methods@0.0.32 -check@1.3.1 -coffeescript@1.0.17 -ddp@1.4.0 -ddp-client@2.3.3 -ddp-common@1.4.0 -ddp-rate-limiter@1.0.7 -ddp-server@2.2.0 -deps@1.0.12 -diff-sequence@1.1.1 -dynamic-import@0.5.1 -ecmascript@0.12.3 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.8.0 -ecmascript-runtime-server@0.7.1 -ejson@1.1.0 -email@1.2.3 -es5-shim@4.8.0 -fetch@0.1.0 -geojson-utils@1.0.10 -html-tools@1.0.11 -htmljs@1.0.11 -http@1.4.2 -id-map@1.1.0 -inter-process-messaging@0.1.0 -jquery@1.11.11 -kadira:blaze-layout@2.3.0 -kadira:flow-router@2.12.1 -konecty:nrr@2.0.2 -konecty:user-presence@2.3.0 -less@2.8.0 -livedata@1.0.18 -localstorage@1.2.0 -logging@1.1.20 -mdg:validation-error@0.5.1 -meteor@1.9.2 -meteorspark:util@0.2.0 -minifier-css@1.4.1 -minifier-js@2.4.0 -minimongo@1.4.5 -mizzao:timesync@0.5.0 -modern-browsers@0.1.3 -modules@0.13.0 -modules-runtime@0.10.3 -momentjs:moment@2.22.2 -mongo@1.6.0 -mongo-decimal@0.1.0 -mongo-dev-server@1.1.0 -mongo-id@1.0.7 -npm-bcrypt@0.9.3 -npm-mongo@3.1.1 -observe-sequence@1.0.16 -ordered-dict@1.1.0 -promise@0.11.1 -raix:eventemitter@0.1.3 -random@1.1.0 -rate-limit@1.0.9 -reactive-dict@1.2.1 -reactive-var@1.0.11 -reload@1.2.0 -retry@1.1.0 -rocketchat:streamer@1.0.1 -routepolicy@1.1.0 -service-configuration@1.0.11 -session@1.2.0 -sha@1.0.9 -shell-server@0.4.0 -socket-stream-client@0.2.2 -spacebars@1.0.15 -spacebars-compiler@1.1.3 -srp@1.0.12 -standard-minifier-css@1.5.2 -standard-minifier-js@2.4.0 -rocketchat:tap-i18n@1.9.1 -templating@1.3.2 -templating-compiler@1.3.3 -templating-runtime@1.3.2 -templating-tools@1.1.2 -tracker@1.2.0 -ui@1.0.13 -underscore@1.0.10 -url@1.2.0 -webapp@1.7.2 -webapp-hashing@1.0.9 diff --git a/packages/rocketchat-livechat/.app/client/components/modal.html b/packages/rocketchat-livechat/.app/client/components/modal.html deleted file mode 100644 index e5356e817ba..00000000000 --- a/packages/rocketchat-livechat/.app/client/components/modal.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js b/packages/rocketchat-livechat/.app/client/lib/CustomFields.js deleted file mode 100644 index 9a0da0eafb2..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js +++ /dev/null @@ -1,37 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Tracker } from 'meteor/tracker'; - -import visitor from '../../imports/client/visitor'; - -this.CustomFields = (function() { - let queue = {}; - let initiated = false; - - const setCustomField = function(token, key, value, overwrite = true) { - if (!initiated) { - // queue by key - queue[key] = { token, value, overwrite }; - return; - } - Meteor.call('livechat:setCustomField', token, key, value, overwrite); - }; - - const init = function() { - Tracker.autorun(function() { - if (visitor.getId()) { - initiated = true; - Object.keys(queue).forEach((key) => { - setCustomField.call(this, queue[key].token, key, queue[key].value, queue[key].overwrite); - }); - queue = {}; - } else { - initiated = false; - } - }); - }; - - return { - init, - setCustomField, - }; -}()); diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js b/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js deleted file mode 100644 index 89d16be71e5..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js +++ /dev/null @@ -1,174 +0,0 @@ -/* globals fileUpload, Livechat, Handlebars, showError, sendFileUpload */ -/* exported LivechatFileUpload, fileUpload, sendFileUpload */ -import { Meteor } from 'meteor/meteor'; -import swal from 'sweetalert2'; - -import visitor from '../../imports/client/visitor'; - -const handleRequestError = (response) => { - if (!response.success) { - let reason = t('FileUpload_Error'); - switch (response.reason) { - case 'error-type-not-allowed': - reason = t('FileUpload_MediaType_NotAccepted'); - break; - case 'error-size-not-allowed': - reason = t('File_exceeds_allowed_size_of_bytes', { size: response.sizeAllowed }); - } - - swal({ - text: reason, - type: 'error', - timer: 4000, - }); - } -}; - -function sendFileRequest(file, roomId, token) { - const url = `${ Meteor.absoluteUrl() }api/v1/livechat/upload/${ roomId }`; - const form = new FormData(); - form.append('file', file); - - const request = new XMLHttpRequest(); - request.open('POST', url); - request.responseType = 'json'; - request.setRequestHeader('X-Visitor-Token', token); - - request.onload = () => { - if (request.status !== 200) { - handleRequestError(request.response); - } - }; - - request.onerror = () => { - handleRequestError(request.response); - }; - - request.send(form); -} - -function readAsDataURL(file, callback) { - const reader = new FileReader(); - reader.onload = (ev) => callback(ev.target.result, file); - - return reader.readAsDataURL(file); -} - -function getUploadPreview(file, callback) { - // If greater then 10MB don't try and show a preview - if (file.file.size > (10 * 1000000)) { - return callback(file, null); - } if (file.file.type == null) { - callback(file, null); - } else if ((file.file.type.indexOf('audio') > -1) || (file.file.type.indexOf('video') > -1) || (file.file.type.indexOf('image') > -1)) { - file.type = file.file.type.split('/')[0]; - return readAsDataURL(file.file, (content) => callback(file, content)); - } else { - return callback(file, null); - } -} - -function formatBytes(bytes, decimals) { - if (bytes === 0) { - return '0 Bytes'; - } - - const k = 1000; - const dm = (decimals + 1) || 3; - - const sizes = [ - 'Bytes', - 'KB', - 'MB', - 'GB', - 'TB', - 'PB', - ]; - - const i = Math.floor(Math.log(bytes) / Math.log(k)); - - return `${ parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) } ${ sizes[i] }`; -} - -function sendFileMessage(file, roomId) { - if (visitor.isSubscribed(roomId)) { - return sendFileRequest(file, roomId, visitor.getToken()); - } - - Meteor.call('livechat:startFileUploadRoom', roomId, visitor.getToken(), (error, result) => { - if (error) { - return showError(error.message); - } - - Livechat.room = result.room._id; - visitor.subscribeToRoom(result.room._id); - visitor.setRoom(result.room._id); - sendFileRequest(file, roomId, visitor.getToken()); - parentCall('callback', 'chat-started'); - }); -} - -sendFileUpload = (file) => getUploadPreview(file, function(file, preview) { - let html = ''; - if (file.type === 'audio') { - html = `
`; - } else if (file.type === 'video') { - html = `
`; - } else if (file.type === 'image') { - html = `
`; - } else { - const fileSize = formatBytes(file.file.size); - html = `
${ Handlebars._escape(file.name) } - ${ fileSize }
`; - } - - swal({ - title: t('Upload_file_question'), - html, - showCancelButton: true, - cancelButtonText: t('No'), - confirmButtonText: t('Yes'), - }).then((result) => { - if (!result.value) { - return; - } - - const roomId = visitor.getRoom(true); - - if (visitor.getId()) { - return sendFileMessage(file.file, roomId); - } - - const guest = { - token: visitor.getToken(), - }; - - if (Livechat.department) { - guest.department = Livechat.department; - } - - Meteor.call('livechat:registerGuest', guest, (error, result) => { - if (error) { - return showError(error.reason); - } - - visitor.setId(result.userId); - sendFileMessage(file.file, roomId); - }); - }); -}); - -fileUpload = (file) => { - if (file.size === 0) { - swal({ - title: t('FileUpload_File_Empty'), - text: '', - type: 'error', - timer: 1000, - showConfirmButton: false, - }); - - return; - } - - return sendFileUpload(file); -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js b/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js deleted file mode 100644 index bdbb2e971d4..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js +++ /dev/null @@ -1,73 +0,0 @@ -/* globals LivechatVideoCall, JitsiMeetExternalAPI */ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; - -import visitor from '../../imports/client/visitor'; - -LivechatVideoCall = new class LivechatVideoCall { - constructor() { - this.live = new ReactiveVar(false); - this.calling = new ReactiveVar(false); - - if (typeof JitsiMeetExternalAPI === 'undefined') { - const prefix = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX || ''; - $.getScript(`${ prefix }/packages/rocketchat_videobridge/client/public/external_api.js`); - } - } - - askPermissions(callback) { - return callback(true); - } - - request() { - this.askPermissions((granted) => { - if (granted) { - this.calling.set(true); - Meteor.call('livechat:startVideoCall', visitor.getRoom(true), (error, result) => { - if (error) { - return; - } - visitor.subscribeToRoom(result.roomId); - - // after get ok from server, start the chat - this.start(result.domain, result.jitsiRoom); - }); - } - }); - } - - start(domain, room) { - Meteor.defer(() => { - const interfaceConfig = {}; - interfaceConfig.TOOLBAR_BUTTONS = '[""]'; - interfaceConfig.APP_NAME = '"Livechat"'; - interfaceConfig.INITIAL_TOOLBAR_TIMEOUT = '5000'; - interfaceConfig.MIN_WIDTH = '300'; - interfaceConfig.FILM_STRIP_MAX_HEIGHT = '50'; - - this.api = new JitsiMeetExternalAPI(domain, room, $('.video-call').width(), $('.video-call').height(), $('.video-call .container').get(0), {}, interfaceConfig); - - this.api.addEventListener('videoConferenceJoined', () => { - this.api.executeCommand('toggleFilmStrip', []); - }); - - this.live.set(true); - }); - } - - finish() { - this.live.set(false); - this.calling.set(false); - this.api.dispose(); - } - - isActive() { - return this.live.get() || this.calling.get(); - } - - isLive() { - return this.live.get(); - } -}(); - -/* exported LivechatVideoCall */ diff --git a/packages/rocketchat-livechat/.app/client/lib/_livechat.js b/packages/rocketchat-livechat/.app/client/lib/_livechat.js deleted file mode 100644 index 580e2a26e48..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/_livechat.js +++ /dev/null @@ -1,305 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; - -import visitor from '../../imports/client/visitor'; - -this.Livechat = new class Livechat { - constructor() { - this._online = new ReactiveVar(null); - - this._customColor = new ReactiveVar(); - this._onlineColor = new ReactiveVar('#C1272D'); - this._offlineColor = new ReactiveVar('#666666'); - - this._customFontColor = new ReactiveVar(); - this._onlineFontColor = new ReactiveVar('#FFFFFF'); - this._offlineFontColor = new ReactiveVar('#FFFFFF'); - - this._title = new ReactiveVar('Rocket.Chat'); - this._registrationForm = new ReactiveVar(true); - this._showSwitchDepartmentForm = new ReactiveVar(false); - this._allowSwitchingDepartments = new ReactiveVar(false); - this._offlineMessage = new ReactiveVar(''); - this._offlineUnavailableMessage = new ReactiveVar(''); - this._displayOfflineForm = new ReactiveVar(true); - this._offlineSuccessMessage = new ReactiveVar(TAPi18n.__('Thanks_We_ll_get_back_to_you_soon')); - this._videoCall = new ReactiveVar(false); - this._fileUpload = new ReactiveVar(false); - this._transcriptMessage = new ReactiveVar(''); - this._conversationFinishedMessage = new ReactiveVar(''); - this._nameFieldRegistrationForm = new ReactiveVar(false); - this._emailFieldRegistrationForm = new ReactiveVar(false); - this._connecting = new ReactiveVar(false); - this._room = new ReactiveVar(null); - this._department = new ReactiveVar(null); - this._widgetOpened = new ReactiveVar(false); - this._ready = new ReactiveVar(false); - this._agent = new ReactiveVar(); - this._registrationFormMessage = new ReactiveVar(''); - - this.stream = new Meteor.Streamer('livechat-room'); - - this._guestName = new ReactiveVar(); - this._guestEmail = new ReactiveVar(); - - Tracker.autorun(() => { - if (this._room.get() && visitor.getId()) { - RoomHistoryManager.getMoreIfIsEmpty(this._room.get()); - visitor.subscribeToRoom(this._room.get()); - visitor.setRoom(this._room.get()); - - Meteor.call('livechat:getAgentData', { roomId: this._room.get(), token: visitor.getToken() }, (error, result) => { - if (!error) { - this._agent.set(result); - } - }); - this.stream.on(this._room.get(), { visitorToken: visitor.getToken() }, (eventData) => { - if (!eventData || !eventData.type) { - return; - } - - if (eventData.type === 'agentData') { - this._agent.set(eventData.data); - } - }); - } - }); - } - - get online() { - return this._online.get(); - } - - get color() { - if (!this._online.get()) { - return this._offlineColor.get(); - } - return this._customColor.get() || this._onlineColor.get(); - } - - get fontColor() { - if (!this._online.get()) { - return this._offlineFontColor.get(); - } - return this._customFontColor.get() || this._onlineFontColor.get(); - } - - get title() { - return this._title.get(); - } - - get registrationForm() { - return this._registrationForm.get(); - } - - get showSwitchDepartmentForm() { - return this._showSwitchDepartmentForm.get(); - } - - get allowSwitchingDepartments() { - return this._allowSwitchingDepartments.get(); - } - - get offlineMessage() { - return this._offlineMessage.get(); - } - - get offlineUnavailableMessage() { - return this._offlineUnavailableMessage.get(); - } - - get displayOfflineForm() { - return this._displayOfflineForm.get(); - } - - get offlineSuccessMessage() { - return this._offlineSuccessMessage.get(); - } - - get videoCall() { - return this._videoCall.get(); - } - - get fileUpload() { - return this._fileUpload.get(); - } - - get transcriptMessage() { - return this._transcriptMessage.get(); - } - - get conversationFinishedMessage() { - return this._conversationFinishedMessage.get(); - } - - get nameFieldRegistrationForm() { - return this._nameFieldRegistrationForm.get(); - } - - get emailFieldRegistrationForm() { - return this._emailFieldRegistrationForm.get(); - } - - get department() { - return this._department.get(); - } - - get connecting() { - return this._connecting.get(); - } - - get agent() { - return this._agent.get(); - } - - get guestName() { - return this._guestName.get(); - } - - get guestEmail() { - return this._guestEmail.get(); - } - - get room() { - return this._room.get(); - } - - get registrationFormMessage() { - return this._registrationFormMessage.get(); - } - - set online(value) { - this._online.set(value); - } - - set title(value) { - this._title.set(value); - } - - set registrationForm(value) { - this._registrationForm.set(value); - } - - set showSwitchDepartmentForm(value) { - this._showSwitchDepartmentForm.set(value); - } - - set allowSwitchingDepartments(value) { - this._allowSwitchingDepartments.set(value); - } - - set offlineMessage(value) { - this._offlineMessage.set(value); - } - - set offlineUnavailableMessage(value) { - this._offlineUnavailableMessage.set(value); - } - - set displayOfflineForm(value) { - this._displayOfflineForm.set(value); - } - - set offlineSuccessMessage(value) { - this._offlineSuccessMessage.set(value); - } - - set customColor(value) { - this._customColor.set(value); - } - - set onlineColor(value) { - this._onlineColor.set(value); - } - - set offlineColor(value) { - this._offlineColor.set(value); - } - - set customFontColor(value) { - this._customFontColor.set(value); - } - - set onlineFontColor(value) { - this._onlineFontColor.set(value); - } - - set offlineFontColor(value) { - this._offlineFontColor.set(value); - } - - set videoCall(value) { - this._videoCall.set(value); - } - - set fileUpload(value) { - this._fileUpload.set(value); - } - - set transcriptMessage(value) { - this._transcriptMessage.set(value); - } - - set conversationFinishedMessage(value) { - this._conversationFinishedMessage.set(value); - } - - set nameFieldRegistrationForm(value) { - this._nameFieldRegistrationForm.set(value); - } - - set emailFieldRegistrationForm(value) { - this._emailFieldRegistrationForm.set(value); - } - - set connecting(value) { - this._connecting.set(value); - } - - set room(roomId) { - this._room.set(roomId); - } - - set department(departmentId) { - const dept = Department.findOne({ _id: departmentId }) || Department.findOne({ name: departmentId }); - this._department.set(dept && dept._id); - } - - set agent(agentData) { - this._agent.set(agentData); - } - - set guestName(name) { - return this._guestName.set(name); - } - - set guestEmail(email) { - return this._guestEmail.set(email); - } - - set registrationFormMessage(value) { - this._registrationFormMessage.set(value); - } - - ready() { - this._ready.set(true); - } - - isReady() { - return this._ready.get(); - } - - setWidgetOpened() { - return this._widgetOpened.set(true); - } - - setWidgetClosed() { - return this._widgetOpened.set(false); - } - - isWidgetOpened() { - return this._widgetOpened.get(); - } -}(); diff --git a/packages/rocketchat-livechat/.app/client/lib/autolinker.js b/packages/rocketchat-livechat/.app/client/lib/autolinker.js deleted file mode 100644 index af580034dff..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/autolinker.js +++ /dev/null @@ -1,6 +0,0 @@ -import Autolinker from 'autolinker'; - -this.livechatAutolinker = new Autolinker({ - twitter: false, - phone: false, -}); diff --git a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js b/packages/rocketchat-livechat/.app/client/lib/chatMessages.js deleted file mode 100644 index 5988b486555..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js +++ /dev/null @@ -1,282 +0,0 @@ -/* globals MsgTyping, showError, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { Random } from 'meteor/random'; -import _ from 'underscore'; -import s from 'underscore.string'; -import toastr from 'toastr'; - -import visitor from '../../imports/client/visitor'; - -this.ChatMessages = class ChatMessages { - init(node) { - this.editing = {}; - - // this.messageMaxSize = RocketChat.settings.get('Message_MaxAllowedSize') - this.wrapper = $(node).find('.wrapper'); - this.input = $(node).find('.input-message').get(0); - // this.bindEvents() - } - - resize() { - const dif = 60 + $('.messages-container').find('footer').outerHeight(); - return $('.messages-box').css({ - height: `calc(100% - ${ dif }px)`, - }); - } - - toPrevMessage() { - const msgs = this.wrapper.get(0).querySelectorAll('.own:not(.system)'); - if (msgs.length) { - if (this.editing.element) { - if (msgs[this.editing.index - 1]) { - this.edit(msgs[this.editing.index - 1], this.editing.index - 1); - } - } else { - this.edit(msgs[msgs.length - 1], msgs.length - 1); - } - } - } - - toNextMessage() { - if (this.editing.element) { - const msgs = this.wrapper.get(0).querySelectorAll('.own:not(.system)'); - if (msgs[this.editing.index + 1]) { - this.edit(msgs[this.editing.index + 1], this.editing.index + 1); - } else { - this.clearEditing(); - } - } - } - - getEditingIndex(element) { - const msgs = this.wrapper.get(0).querySelectorAll('.own:not(.system)'); - let index = 0; - for (const msg of Array.from(msgs)) { - if (msg === element) { - return index; - } - index++; - } - return -1; - } - - edit(element, index) { - if (element.classList.contains('system')) { - return; - } - this.clearEditing(); - const id = element.getAttribute('id'); - const message = ChatMessage.findOne({ _id: id, 'u._id': visitor.getId() }); - this.input.value = message.msg; - this.editing.element = element; - this.editing.index = index || this.getEditingIndex(element); - this.editing.id = id; - element.classList.add('editing'); - this.input.classList.add('editing'); - setTimeout(() => { - this.input.focus(); - }, 5); - } - - clearEditing() { - if (this.editing.element) { - this.editing.element.classList.remove('editing'); - this.input.classList.remove('editing'); - this.editing.id = null; - this.editing.element = null; - this.editing.index = null; - this.input.value = this.editing.saved || ''; - } else { - this.editing.saved = this.input.value; - } - } - - send(rid, input) { - if (s.trim(input.value) === '') { - return; - } - if (this.isMessageTooLong(input)) { - return toastr.error(t('Message_too_long')); - } - // KonchatNotification.removeRoomNotification(rid) - const msg = input.value; - input.value = ''; - if (!rid) { - rid = visitor.getRoom(true); - } - - const sendMessage = () => { - const msgObject = { - _id: Random.id(), - rid, - msg, - token: visitor.getToken(), - }; - MsgTyping.stop(rid); - - let agent; - const currentAgent = !visitor.roomSubscribed && Livechat.agent; - if (currentAgent) { - agent = { - agentId: currentAgent._id, - username: currentAgent.username, - }; - } - - Meteor.call('sendMessageLivechat', msgObject, agent, (error, result) => { - if (error) { - ChatMessage.update(msgObject._id, { $set: { error: true } }); - showError(error.reason); - } - - Livechat.room = result.rid; - - if (result && result.rid && !visitor.isSubscribed(result.rid)) { - Livechat.connecting = result.showConnecting; - ChatMessage.update(result._id, _.omit(result, '_id')); - - visitor.setConnected(); - - parentCall('callback', 'chat-started'); - } - }); - }; - - if (!visitor.getId() || visitor.getDepartment() !== Livechat.department) { - const guest = { - token: visitor.getToken(), - }; - - if (Livechat.department) { - guest.department = Livechat.department; - } - - if (Livechat.guestName) { - guest.name = Livechat.guestName; - } - - if (Livechat.guestEmail) { - guest.email = Livechat.guestEmail; - } - - Meteor.call('livechat:registerGuest', guest, (error, result) => { - if (error) { - return showError(error.reason); - } - - visitor.setId(result.userId); - visitor.setData(result.visitor); - - sendMessage(); - }); - } else { - sendMessage(); - } - } - - deleteMsg(message) { - Meteor.call('deleteMessage', message, (error) => { - if (error) { - return handleError(error); - } - }); - } - - update(id, rid, input) { - if (s.trim(input.value) !== '') { - const msg = input.value; - Meteor.call('updateMessage', { id, msg }); - this.clearEditing(); - MsgTyping.stop(rid); - } - } - - startTyping(rid, input) { - if (s.trim(input.value) !== '') { - MsgTyping.start(rid); - } else { - MsgTyping.stop(rid); - } - } - - bindEvents() { - if (this.wrapper && this.wrapper.length) { - $('.input-message').autogrow({ - postGrowCallback: () => { - this.resize(); - }, - }); - } - } - - keyup(rid, event) { - let i; - const input = event.currentTarget; - const k = event.which; - const keyCodes = [ - 13, // Enter - 20, // Caps lock - 16, // Shift - 9, // Tab - 27, // Escape Key - 17, // Control Key - 91, // Windows Command Key - 19, // Pause Break - 18, // Alt Key - 93, // Right Click Point Key - 45, // Insert Key - 34, // Page Down - 35, // Page Up - 144, // Num Lock - 145, // Scroll Lock - ]; - for (i = 35; i <= 40; i++) { keyCodes.push(i); } // Home, End, Arrow Keys - for (i = 112; i <= 123; i++) { keyCodes.push(i); } // F1 - F12 - - if (!Array.from(keyCodes).includes(k)) { - this.startTyping(rid, input); - } - } - - keydown(rid, event) { - const input = event.currentTarget; - const k = event.which; - this.resize(input); - if (k === 13 && !event.shiftKey && !event.ctrlKey && !event.altKey) { // Enter without shift/ctrl/alt - event.preventDefault(); - event.stopPropagation(); - if (this.editing.id) { - this.update(this.editing.id, rid, input); - } else { - this.send(rid, input); - } - return; - } - - if (k === 27) { - if (this.editing.id) { - event.preventDefault(); - event.stopPropagation(); - this.clearEditing(); - } - // else if k is 38 or k is 40 # Arrow Up or down - // if k is 38 - // return if input.value.slice(0, input.selectionStart).match(/[\n]/) isnt null - // this.toPrevMessage() - // else - // return if input.value.slice(input.selectionEnd, input.value.length).match(/[\n]/) isnt null - // this.toNextMessage() - - // event.preventDefault() - // event.stopPropagation() - - // ctrl (command) + shift + k -> clear room messages - } else if (k === 75 && ((navigator.platform.indexOf('Mac') !== -1 && event.metaKey && event.shiftKey) || (navigator.platform.indexOf('Mac') === -1 && event.ctrlKey && event.shiftKey))) { - RoomHistoryManager.clear(rid); - } - } - - isMessageTooLong(input) { - return input && input.value.length > this.messageMaxSize; - } -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/collections.js b/packages/rocketchat-livechat/.app/client/lib/collections.js deleted file mode 100644 index 2b102423f7b..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/collections.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Mongo } from 'meteor/mongo'; - -this.ChatMessage = new Mongo.Collection(null); -this.Department = new Mongo.Collection(null); diff --git a/packages/rocketchat-livechat/.app/client/lib/commands.js b/packages/rocketchat-livechat/.app/client/lib/commands.js deleted file mode 100644 index 29a8f66662f..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/commands.js +++ /dev/null @@ -1,65 +0,0 @@ -/* globals LivechatVideoCall, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { Blaze } from 'meteor/blaze'; -import { Template } from 'meteor/templating'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import swal from 'sweetalert2'; - -import visitor from '../../imports/client/visitor'; - -// Functions to call on messages of type 'command' -this.Commands = { - survey() { - if (!$('body #survey').length) { - Blaze.render(Template.survey, $('body').get(0)); - } - }, - - endCall() { - LivechatVideoCall.finish(); - }, - - promptTranscript() { - if (Livechat.transcript) { - const visitorData = visitor.getData(); - const email = visitorData && visitorData.visitorEmails && visitorData.visitorEmails.length > 0 ? visitorData.visitorEmails[0].address : ''; - const transcriptMessage = Livechat.transcriptMessage ? Livechat.transcriptMessage : TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed'); - - swal({ - title: t('Chat_ended'), - text: transcriptMessage, - input: 'email', - inputValue: email, - inputPlaceholder: t('Type_your_email'), - showCancelButton: true, - cancelButtonText: t('no'), - confirmButtonText: t('yes'), - }).then((result) => { - if ((typeof result.value === 'boolean') && !result.value) { - return true; - } - - if (!result.value || result.value.trim() === '') { - swal.showValidationError(t('please enter your email')); - return false; - } - - Meteor.call('livechat:sendTranscript', visitor.getToken(), visitor.getRoom(), result.value, (err) => { - if (err) { - console.error(err); - } - swal({ - title: t('transcript_sent'), - type: 'success', - timer: 1000, - showConfirmButton: false, - }); - }); - }); - } - }, - - connected() { - Livechat.connecting = false; - }, -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/error.js b/packages/rocketchat-livechat/.app/client/lib/error.js deleted file mode 100644 index 82b08dbdb06..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/error.js +++ /dev/null @@ -1,7 +0,0 @@ -this.showError = (msg) => { - $('.error').addClass('show').find('span').html(msg); -}; - -this.hideError = () => { - $('.error').removeClass('show'); -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js deleted file mode 100644 index 3ed14a00e2c..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js +++ /dev/null @@ -1,91 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Tracker } from 'meteor/tracker'; - -import visitor from '../../../imports/client/visitor'; - -this.Notifications = new class { - constructor(...args) { - this.logged = visitor.getId() !== null; - this.loginCb = []; - Tracker.autorun(() => { - if (visitor.getId() !== null && this.logged === false) { - this.loginCb.forEach((cb) => cb()); - } - this.logged = visitor.getId() !== null; - }); - this.debug = false; - this.streamAll = new Meteor.Streamer('notify-all'); - this.streamLogged = new Meteor.Streamer('notify-logged'); - this.streamRoom = new Meteor.Streamer('notify-room'); - this.streamRoomUsers = new Meteor.Streamer('notify-room-users'); - this.streamUser = new Meteor.Streamer('notify-user'); - if (this.debug === true) { - this.onAll(function() { - return console.log('RocketChat.Notifications: onAll', args); - }); - this.onUser(function() { - return console.log('RocketChat.Notifications: onAll', args); - }); - } - } - - onLogin(cb) { - this.loginCb.push(cb); - if (this.logged) { - return cb(); - } - } - - notifyRoom(room, eventName, ...args) { - if (this.debug === true) { - console.log('RocketChat.Notifications: notifyRoom', room, eventName, ...args); - } - args.unshift(`${ room }/${ eventName }`); - return this.streamRoom.emit.apply(this.streamRoom, args); - } - - notifyUser(userId, eventName, ...args) { - if (this.debug === true) { - console.log('RocketChat.Notifications: notifyUser', userId, eventName, ...args); - } - args.unshift(`${ userId }/${ eventName }`); - return this.streamUser.emit.apply(this.streamUser, args); - } - - onAll(eventName, callback) { - return this.streamAll.on(eventName, { token: visitor.getToken() }, callback); - } - - onLogged(eventName, callback) { - return this.onLogin(() => this.streamLogged.on(eventName, { token: visitor.getToken() }, callback)); - } - - onRoom(room, eventName, callback) { - if (this.debug === true) { - this.streamRoom.on(room, { token: visitor.getToken() }, function() { - return console.log(`RocketChat.Notifications: onRoom ${ room }`, room, eventName, callback); - }); - } - return this.streamRoom.on(`${ room }/${ eventName }`, { token: visitor.getToken() }, callback); - } - - onUser(eventName, callback) { - return this.streamUser.on(`${ visitor.getId() }/${ eventName }`, { token: visitor.getToken() }, callback); - } - - unAll(callback) { - return this.streamAll.removeListener('notify', callback); - } - - unLogged(callback) { - return this.streamLogged.removeListener('notify', callback); - } - - unRoom(room, eventName, callback) { - return this.streamRoom.removeListener(`${ room }/${ eventName }`, callback); - } - - unUser(eventName, callback) { - return this.streamUser.removeListener(`${ visitor.getId() }/${ eventName }`, callback); - } -}(); diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js deleted file mode 100644 index 325f5269523..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js +++ /dev/null @@ -1,238 +0,0 @@ -/* globals readMessage UserRoles RoomRoles*/ - -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Blaze } from 'meteor/blaze'; -import _ from 'underscore'; - -import visitor from '../../../imports/client/visitor'; - -export const RoomHistoryManager = new class { - constructor() { - this.defaultLimit = 50; - this.histories = {}; - } - - getRoom(rid) { - if (this.histories[rid] == null) { - this.histories[rid] = { - hasMore: new ReactiveVar(true), - hasMoreNext: new ReactiveVar(false), - isLoading: new ReactiveVar(false), - unreadNotLoaded: new ReactiveVar(0), - firstUnread: new ReactiveVar(), - loaded: undefined, - }; - } - - return this.histories[rid]; - } - - getMore(rid, limit) { - if (limit == null) { limit = this.defaultLimit; } - const room = this.getRoom(rid); - if (room.hasMore.curValue !== true) { - return; - } - - room.isLoading.set(true); - - // $('.messages-box .wrapper').data('previous-height', $('.messages-box .wrapper').get(0)?.scrollHeight - $('.messages-box .wrapper').get(0)?.scrollTop) - // ScrollListener.setLoader true - const lastMessage = ChatMessage.findOne({ rid }, { fields: { ts: 1 }, sort: { ts: 1 } }); - // lastMessage ?= ChatMessage.findOne({rid: rid}, {sort: {ts: 1}}) - - let ts; - if (lastMessage) { - ts = lastMessage.ts; - } else { - ts = new Date(); - } - - Meteor.call('livechat:loadHistory', { token: visitor.getToken(), rid, ts, limit }, (err, result) => { - if (err) { - return; - } - - if (result && result.messages) { - result.messages.forEach((item) => { - if (item.t !== 'command') { - ChatMessage.upsert({ _id: item._id }, item); - } - }); - room.isLoading.set(false); - room.loaded += result.messages.length; - if (result.messages.length < limit) { - room.hasMore.set(false); - } - } - }); - } - - getMoreNext(rid, limit) { - if (limit == null) { limit = this.defaultLimit; } - const room = this.getRoom(rid); - if (room.hasMoreNext.curValue !== true) { - return; - } - - const instance = Blaze.getView($('.messages-box .wrapper')[0]).templateInstance(); - instance.atBottom = false; - - room.isLoading.set(true); - - const lastMessage = ChatMessage.findOne({ rid }, { sort: { ts: -1 } }); - - let typeName = undefined; - - const subscription = ChatSubscription.findOne({ rid }); - if (subscription != null) { - // const { ls } = subscription; - typeName = subscription.t + subscription.name; - } else { - const curRoomDoc = ChatRoom.findOne({ _id: rid }); - typeName = (curRoomDoc != null ? curRoomDoc.t : undefined) + (curRoomDoc != null ? curRoomDoc.name : undefined); - } - - const { ts } = lastMessage; - - if (ts) { - return Meteor.call('loadNextMessages', rid, ts, limit, function(err, result) { - for (const item of Array.from((result != null ? result.messages : undefined) || [])) { - if (item.t !== 'command') { - const roles = [ - (item.u && item.u._id && UserRoles.findOne(item.u._id, { fields: { roles: 1 } })) || {}, - (item.u && item.u._id && RoomRoles.findOne({ rid: item.rid, 'u._id': item.u._id })) || {}, - ].map((e) => e.roles); - item.roles = _.union.apply(_.union, roles); - ChatMessage.upsert({ _id: item._id }, item); - } - } - - Meteor.defer(() => RoomManager.updateMentionsMarksOfRoom(typeName)); - - room.isLoading.set(false); - if (room.loaded == null) { room.loaded = 0; } - - room.loaded += result.messages.length; - if (result.messages.length < limit) { - room.hasMoreNext.set(false); - } - }); - } - } - - getSurroundingMessages(message, limit) { - if (limit == null) { limit = this.defaultLimit; } - if (!(message != null ? message.rid : undefined)) { - return; - } - - const instance = Blaze.getView($('.messages-box .wrapper')[0]).templateInstance(); - - if (ChatMessage.findOne(message._id)) { - const wrapper = $('.messages-box .wrapper'); - const msgElement = $(`#${ message._id }`, wrapper); - const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2); - wrapper.animate({ - scrollTop: pos, - }, 500); - msgElement.addClass('highlight'); - - setTimeout(function() { - const messages = wrapper[0]; - instance.atBottom = messages.scrollTop >= (messages.scrollHeight - messages.clientHeight); - }); - - return setTimeout(() => msgElement.removeClass('highlight'), 500); - } - const room = this.getRoom(message.rid); - room.isLoading.set(true); - ChatMessage.remove({ rid: message.rid }); - - let typeName = undefined; - - const subscription = ChatSubscription.findOne({ rid: message.rid }); - if (subscription) { - // const { ls } = subscription; - typeName = subscription.t + subscription.name; - } else { - const curRoomDoc = ChatRoom.findOne({ _id: message.rid }); - typeName = (curRoomDoc != null ? curRoomDoc.t : undefined) + (curRoomDoc != null ? curRoomDoc.name : undefined); - } - - return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) { - for (const item of Array.from((result != null ? result.messages : undefined) || [])) { - if (item.t !== 'command') { - const roles = [ - (item.u && item.u._id && UserRoles.findOne(item.u._id, { fields: { roles: 1 } })) || {}, - (item.u && item.u._id && RoomRoles.findOne({ rid: item.rid, 'u._id': item.u._id })) || {}, - ].map((e) => e.roles); - item.roles = _.union.apply(_.union, roles); - ChatMessage.upsert({ _id: item._id }, item); - } - } - - Meteor.defer(function() { - readMessage.refreshUnreadMark(message.rid, true); - RoomManager.updateMentionsMarksOfRoom(typeName); - const wrapper = $('.messages-box .wrapper'); - const msgElement = $(`#${ message._id }`, wrapper); - const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2); - wrapper.animate({ - scrollTop: pos, - }, 500); - - msgElement.addClass('highlight'); - - setTimeout(function() { - room.isLoading.set(false); - const messages = wrapper[0]; - instance.atBottom = !result.moreAfter && (messages.scrollTop >= (messages.scrollHeight - messages.clientHeight)); - return 500; - }); - - return setTimeout(() => msgElement.removeClass('highlight'), 500); - }); - if (room.loaded == null) { room.loaded = 0; } - room.loaded += result.messages.length; - room.hasMore.set(result.moreBefore); - return room.hasMoreNext.set(result.moreAfter); - }); - } - - hasMore(rid) { - const room = this.getRoom(rid); - return room.hasMore.get(); - } - - hasMoreNext(rid) { - const room = this.getRoom(rid); - return room.hasMoreNext.get(); - } - - - getMoreIfIsEmpty(rid) { - const room = this.getRoom(rid); - - if (room.loaded === undefined) { - return this.getMore(rid); - } - } - - - isLoading(rid) { - const room = this.getRoom(rid); - return room.isLoading.get(); - } - - clear(rid) { - ChatMessage.remove({ rid }); - if (this.histories[rid] != null) { - this.histories[rid].hasMore.set(true); - this.histories[rid].isLoading.set(false); - this.histories[rid].loaded = undefined; - } - } -}(); -this.RoomHistoryManager = RoomHistoryManager; diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js deleted file mode 100644 index b78d3c9ee79..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js +++ /dev/null @@ -1,24 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Session } from 'meteor/session'; - -this.getAvatarUrlFromUsername = (username) => { - const key = `avatar_random_${ username }`; - const random = Session.keys[key] || 0; - if (!username) { - return; - } - - return Meteor.absoluteUrl(`/avatar/${ username }?_dc=${ random }`); -}; - -this.updateAvatarOfUsername = (username) => { - const key = `avatar_random_${ username }`; - Session.set(key, Math.round(Math.random() * 1000)); - - Object.keys(RoomManager.openedRooms).forEach((key) => { - const room = RoomManager.openedRooms[key]; - const url = getAvatarUrlFromUsername(username); - $(room.dom).find(`.message[data-username='${ username }'] .avatar-image`).css('background-image', `url(${ url })`); - }); - return true; -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/hooks.js b/packages/rocketchat-livechat/.app/client/lib/hooks.js deleted file mode 100644 index 04f4c61d2a6..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/hooks.js +++ /dev/null @@ -1,102 +0,0 @@ -/* globals CustomFields, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { Random } from 'meteor/random'; -import { Tracker } from 'meteor/tracker'; - -import visitor from '../../imports/client/visitor'; - -const api = { - pageVisited(info) { - if (info.change === 'url') { - Triggers.processRequest(info); - } - - Meteor.call('livechat:pageVisited', visitor.getToken(), visitor.getRoom(), info); - }, - - setCustomField(key, value, overwrite = true) { - CustomFields.setCustomField(visitor.getToken(), key, value, overwrite); - }, - - setTheme(theme) { - if (theme.color) { - Livechat.customColor = theme.color; - } - if (theme.fontColor) { - Livechat.customFontColor = theme.fontColor; - } - }, - - setDepartment(department) { - Livechat.department = department; - }, - - clearDepartment() { - Livechat.department = null; - }, - - widgetOpened() { - Livechat.setWidgetOpened(); - }, - - widgetClosed() { - Livechat.setWidgetClosed(); - }, - - setGuestToken(token) { - visitor.setToken(token); - }, - - setGuestName(name) { - visitor.setName(name); - }, - - setGuestEmail(email) { - visitor.setEmail(email); - }, - - registerGuest(data) { - if (typeof data !== 'object') { - return; - } - - if (!data.token) { - data.token = Random.id(); - } - - if (data.department) { - api.setDepartment(data.department); - } - - Meteor.call('livechat:registerGuest', data, function(error, result) { - if (!error) { - visitor.reset(); - } - - if (result && result.visitor && result.visitor.token) { - visitor.setToken(result.visitor.token); - visitor.setId(result.userId); - visitor.setData(result.visitor); - } - }); - }, -}; - -window.addEventListener('message', function(msg) { - if (typeof msg.data === 'object' && msg.data.src !== undefined && msg.data.src === 'rocketchat') { - if (api[msg.data.fn] !== undefined && typeof api[msg.data.fn] === 'function') { - const args = [].concat(msg.data.args || []); - api[msg.data.fn].apply(null, args); - } - } -}, false); - -// tell parent window that we are ready -Meteor.startup(function() { - Tracker.autorun((c) => { - if (Livechat.isReady()) { - parentCall('ready'); - c.stop(); - } - }); -}); diff --git a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js b/packages/rocketchat-livechat/.app/client/lib/msgTyping.js deleted file mode 100644 index cab9b9f47fb..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js +++ /dev/null @@ -1,90 +0,0 @@ -/* globals Notifications, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; - -import visitor from '../../imports/client/visitor'; - -export const MsgTyping = (function() { - const timeout = 15000; - const timeouts = {}; - let renew = true; - const renewTimeout = 10000; - const selfTyping = new ReactiveVar(false); - const usersTyping = {}; - const dep = new Tracker.Dependency(); - let oldRoom; - - const addStream = function(room) { - if (!_.isEmpty(usersTyping[room] && usersTyping[room].users)) { - return; - } - usersTyping[room] = { users: {} }; - return Notifications.onRoom(room, 'typing', function(username, typing/* , extraData*/) { - const user = Meteor.user(); - if (username === (user && user.username)) { - return; - } - const { users } = usersTyping[room]; - if (typing === true) { - users[username] = Meteor.setTimeout(function() { - delete users[username]; - usersTyping[room].users = users; - return dep.changed(); - }, timeout); - } else { - delete users[username]; - } - usersTyping[room].users = users; - return dep.changed(); - }); - }; - - Tracker.autorun(() => { - if (Livechat.room && visitor.getId()) { - if (oldRoom) { - Notifications.unRoom(oldRoom, 'typing'); - } - addStream(Livechat.room); - oldRoom = Livechat.room; - } - }); - - const stop = function(room) { - renew = true; - selfTyping.set(false); - if (timeouts && timeouts[room]) { - clearTimeout(timeouts[room]); - timeouts[room] = null; - } - const visitorData = visitor.getData(); - return Notifications.notifyRoom(room, 'typing', visitorData && visitorData.username, false, { token: visitor.getToken() }); - }; - const start = function(room) { - if (!renew) { return; } - - setTimeout(() => { renew = true; }, renewTimeout); - - renew = false; - selfTyping.set(true); - const visitorData = visitor.getData(); - Notifications.notifyRoom(room, 'typing', visitorData && visitorData.username, true, { token: visitor.getToken() }); - clearTimeout(timeouts[room]); - timeouts[room] = Meteor.setTimeout(() => stop(room), timeout); - return timeouts[room]; - }; - - const get = function(room) { - dep.depend(); - if (!usersTyping[room]) { - usersTyping[room] = { users: {} }; - } - const { users } = usersTyping[room]; - return _.keys(users) || []; - }; - - return { start, stop, get, selfTyping }; -}()); - -this.MsgTyping = MsgTyping; diff --git a/packages/rocketchat-livechat/.app/client/lib/parentCall.js b/packages/rocketchat-livechat/.app/client/lib/parentCall.js deleted file mode 100644 index 23a31167b85..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/parentCall.js +++ /dev/null @@ -1,9 +0,0 @@ -this.parentCall = (method, args = []) => { - const data = { - src: 'rocketchat', - fn: method, - args, - }; - - window.parent.postMessage(data, '*'); -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js b/packages/rocketchat-livechat/.app/client/lib/tapi18n.js deleted file mode 100644 index 97346471cad..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js +++ /dev/null @@ -1,27 +0,0 @@ -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import _ from 'underscore'; - -this.t = function(key, ...replaces) { - if (_.isObject(replaces[0])) { - return TAPi18n.__(key, replaces); - } - return TAPi18n.__(key, { - postProcess: 'sprintf', - sprintf: replaces, - }); -}; - -this.tr = function(key, options, ...replaces) { - if (_.isObject(replaces[0])) { - return TAPi18n.__(key, options, replaces); - } - return TAPi18n.__(key, options, { - postProcess: 'sprintf', - sprintf: replaces, - }); -}; - -this.isRtl = (lang) => { - const language = lang || localStorage.getItem('userLanguage') || 'en-US'; - return ['ar', 'dv', 'fa', 'he', 'ku', 'ps', 'sd', 'ug', 'ur', 'yi'].includes(language.split('-').shift().toLowerCase()); -}; diff --git a/packages/rocketchat-livechat/.app/client/lib/triggers.js b/packages/rocketchat-livechat/.app/client/lib/triggers.js deleted file mode 100644 index 4e2010f2f85..00000000000 --- a/packages/rocketchat-livechat/.app/client/lib/triggers.js +++ /dev/null @@ -1,183 +0,0 @@ -/* globals Livechat */ -import { Meteor } from 'meteor/meteor'; -import { Random } from 'meteor/random'; -import { Session } from 'meteor/session'; - -import visitor from '../../imports/client/visitor'; - -const firedTriggers = JSON.parse(localStorage.getItem('rocketChatFiredTriggers')) || []; - -// promise cache for multiple calls (let's say multiple triggers running before the previous finished) -const agentCacheExpiry = 3600000; -let agentPromise; -function getAgent(triggerAction) { - if (agentPromise) { - return agentPromise; - } - agentPromise = new Promise((resolve, reject) => { - const { params } = triggerAction; - if (params.sender === 'queue') { - const cache = localStorage.getItem('triggerAgent'); - if (cache) { - const cacheAgent = JSON.parse(cache); - - // cache valid for 1h - if (cacheAgent.ts && Date.now() - cacheAgent.ts < agentCacheExpiry) { - return resolve(cacheAgent.agent); - } - } - - Meteor.call('livechat:getNextAgent', { - token: visitor.getToken(), - department: Livechat.department, - }, (error, result) => { - if (error) { - return reject(error); - } - localStorage.setItem('triggerAgent', JSON.stringify({ - agent: result, - ts: Date.now(), - })); - - resolve(result); - }); - } else if (params.sender === 'custom') { - resolve({ - username: params.name, - }); - } else { - reject('Unknown sender'); - } - }); - - // expire the promise cache as well - setTimeout(() => { - agentPromise = null; - }, agentCacheExpiry); - - return agentPromise; -} - -this.Triggers = (function() { - let triggers = []; - let initiated = false; - let requests = []; - let enabled = true; - - const fire = function(trigger) { - if (!enabled || visitor.getId()) { - return; - } - trigger.actions.forEach(function(action) { - if (action.name === 'send-message') { - // flag to skip the trigger if the action is 'send-message' - trigger.skip = true; - - getAgent(action).then((agent) => { - let roomId = visitor.getRoom(); - - if (!roomId) { - roomId = Random.id(); - visitor.setRoom(roomId); - } - - Session.set('triggered', true); - ChatMessage.insert({ - msg: action.params.msg, - rid: roomId, - u: agent, - }); - - if (agent._id) { - Livechat.agent = agent; - } - - parentCall('openWidget'); - }); - } - }); - - if (trigger.runOnce) { - trigger.skip = true; - firedTriggers.push(trigger._id); - localStorage.setItem('rocketChatFiredTriggers', JSON.stringify(firedTriggers)); - } - }; - - const processRequest = function(request) { - if (!initiated) { - return requests.push(request); - } - triggers.forEach(function(trigger) { - if (trigger.skip) { - return; - } - trigger.conditions.forEach(function(condition) { - switch (condition.name) { - case 'page-url': - if (request.location.href.match(new RegExp(condition.value))) { - fire(trigger); - } - break; - - case 'time-on-site': - if (trigger.timeout) { - clearTimeout(trigger.timeout); - } - trigger.timeout = setTimeout(function() { - fire(trigger); - }, parseInt(condition.value) * 1000); - break; - } - }); - }); - }; - - const setTriggers = function(newTriggers) { - triggers = newTriggers; - }; - - const init = function(newTriggers) { - if (initiated) { - return; - } - - initiated = true; - - if (newTriggers) { - setTriggers(newTriggers); - } - - firedTriggers.forEach((triggerId) => { - triggers.forEach((trigger) => { - if (trigger._id === triggerId) { - trigger.skip = true; - } - }); - }); - - if (requests.length > 0 && triggers.length > 0) { - requests.forEach(function(request) { - processRequest(request); - }); - - requests = []; - } - }; - - const setDisabled = function() { - enabled = false; - }; - - const setEnabled = function() { - enabled = true; - }; - - return { - init, - processRequest, - setTriggers, - setDisabled, - setEnabled, - }; -}()); diff --git a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js b/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js deleted file mode 100644 index a555db944fd..00000000000 --- a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js +++ /dev/null @@ -1,30 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { TimeSync } from 'meteor/mizzao:timesync'; -import s from 'underscore.string'; - -import visitor from '../../imports/client/visitor'; - -Meteor.methods({ - sendMessageLivechat(message) { - if (s.trim(message.msg) !== '') { - if (isNaN(TimeSync.serverOffset())) { - message.ts = new Date(); - } else { - message.ts = new Date(Date.now() + TimeSync.serverOffset()); - } - - const user = Meteor.user(); - - message.u = { - _id: visitor.getId(), - username: (user && user.username) || 'visitor', - }; - - message.temp = true; - - // message = RocketChat.callbacks.run 'beforeSaveMessage', message - - ChatMessage.insert(message); - } - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/routes/router.js b/packages/rocketchat-livechat/.app/client/routes/router.js deleted file mode 100644 index 55c8620365d..00000000000 --- a/packages/rocketchat-livechat/.app/client/routes/router.js +++ /dev/null @@ -1,16 +0,0 @@ -import { FlowRouter } from 'meteor/kadira:flow-router'; -import { BlazeLayout } from 'meteor/kadira:blaze-layout'; - -import visitor from '../../imports/client/visitor'; - -BlazeLayout.setRoot('body'); - -FlowRouter.route('/livechat', { - name: 'index', - triggersEnter: [ - () => visitor.register(), - ], - action() { - BlazeLayout.render('main', { center: 'livechatWindow' }); - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/startup/customFields.js b/packages/rocketchat-livechat/.app/client/startup/customFields.js deleted file mode 100644 index f8fd2a4a62f..00000000000 --- a/packages/rocketchat-livechat/.app/client/startup/customFields.js +++ /dev/null @@ -1,6 +0,0 @@ -/* globals CustomFields */ -import { Meteor } from 'meteor/meteor'; - -Meteor.startup(function() { - CustomFields.init(); -}); diff --git a/packages/rocketchat-livechat/.app/client/startup/visitor.js b/packages/rocketchat-livechat/.app/client/startup/visitor.js deleted file mode 100644 index f43f0507e4f..00000000000 --- a/packages/rocketchat-livechat/.app/client/startup/visitor.js +++ /dev/null @@ -1,36 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Random } from 'meteor/random'; -import { Tracker } from 'meteor/tracker'; - -import visitor from '../../imports/client/visitor'; - -Meteor.startup(() => { - if (!localStorage.getItem('rocketChatLivechat')) { - localStorage.setItem('rocketChatLivechat', Random.id()); - } else { - Tracker.autorun((c) => { - if (!visitor.getId() && visitor.getToken()) { - Meteor.call('livechat:loginByToken', visitor.getToken(), (err, result) => { - if (result && result._id) { - visitor.setId(result._id); - c.stop(); - } - }); - } - }); - } -}); - -Meteor.startup(() => { - let connected = false; - Tracker.autorun(function() { - const connectionStatus = Meteor.status(); - if (visitor.getRoom() && visitor.getToken() && connectionStatus.connected && !connected) { - connected = connectionStatus.connected; - document.cookie = `rc_rid=${ visitor.getRoom() }; path=/`; - document.cookie = `rc_token=${ visitor.getToken() }; path=/`; - document.cookie = 'rc_room_type=l; path=/'; - visitor.setConnected(); - } - }); -}); diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/main.less b/packages/rocketchat-livechat/.app/client/stylesheets/main.less deleted file mode 100644 index ed834c46e5d..00000000000 --- a/packages/rocketchat-livechat/.app/client/stylesheets/main.less +++ /dev/null @@ -1,933 +0,0 @@ -@import "utils/_reset.import.less"; -@import "utils/_variables.import.less"; -@import "utils/_keyframes.import.less"; -@import "utils/_loading.import.less"; - -* { - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -html, -body { - height: 100%; -} - -body { - margin: 0; - font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif, "Meiryo UI"; - font-size: 0.8rem; - color: @primary-font-color; - height: 100%; - width: 100%; - -webkit-font-smoothing: antialiased; - line-height: 1rem; - padding: 0; - overflow: hidden; - position: relative; - border-top-right-radius: 5px; - border-top-left-radius: 5px; -} - -input, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; - padding: 5px; - margin: 5px 0; - border: 1px solid #e7e7e7; - border-radius: 5px; - outline: none; -} - -button { - background: none; - border: none; - padding: 0; - text-align: left; - cursor: pointer; - text-transform: inherit; - color: inherit; - font-style: inherit; -} - -input:focus { - outline: none; - box-shadow: 0 0 0; -} - -.button { - &:extend(.unselectable); - display: inline-block; - padding: 9px 12px; - font-weight: 500; - font-size: 13px; - margin: 4px; - text-transform: uppercase; - word-spacing: 0; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.125); - border: none; - border-radius: 0; - line-height: 16px; - position: relative; - cursor: pointer; - color: rgba(255, 255, 255, 0.85); - background-color: lighten(desaturate(@primary-background-color, 15%), 12.5%); - - span { - position: relative; - z-index: 2; - } - - &::before { - background-color: rgba(0, 0, 0, 0.1); - content: " "; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0; - z-index: 1; - transition: opacity 0.1s ease-out; - } - - &:hover { - text-decoration: none; - color: #ffffff; - - &::before { - opacity: 1; - } - } - - &.secondary { - background-color: @tertiary-background-color; - color: @primary-font-color; - - &::before { - background-color: rgba(0, 0, 0, 0.045); - } - } - - &.clean { - font-size: 14px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.08); - - &.primary { - font-weight: 600; - } - } - - &.button-block { - display: block; - width: 100%; - } -} - -.field-error { - border: 1px solid red; -} - -.livechat-room { - display: flex; - flex-direction: column; - height: 100%; - border-top-right-radius: inherit; - border-top-left-radius: inherit; - - &.popout { - border-top-right-radius: 0; - border-top-left-radius: 0; - } - - .title { - flex: 1 0 @header-min-height; - line-height: @header-min-height; - border-top-right-radius: inherit; - border-top-left-radius: inherit; - color: #ffffff; - z-index: 10; - padding: 0 10px; - user-select: none; - cursor: move; - - h1 { - margin: 0; - font-size: 10pt; - display: inline-block; - } - - .toolbar { - display: inline-block; - float: right; - - svg { - cursor: pointer; - fill: currentColor; - width: 14px; - margin: 0 5px; - vertical-align: middle; - - &:last-of-type { - margin-right: 0; - } - } - } - } - - .header { - flex: 1 0 60px; - display: flex; - box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.2); - background-color: #fcfcfc; - color: @secondary-font-color; - z-index: 2; - - .picture { - flex: 0 1 60px; - padding: 5px 10px; - - img { - width: 50px; - height: 50px; - border-radius: 6px; - border: 1px solid @window-border-color; - } - } - - .info { - flex: 1; - padding: 5px 0; - - h2 { - color: @primary-font-color; - font-size: 14px; - } - - li { - font-size: 11px; - } - } - } - - .messages { - flex: 1 1 100%; - background-color: #ffffff; - border-left: 1px solid @window-border-color; - border-right: 1px solid @window-border-color; - overflow-y: auto; - - .wrapper { - padding-bottom: 6px; - - ul { - list-style-type: none; - padding: 0; - - li { - padding: 0; - } - } - - .message { - font-size: 12px; - padding: 8px 10px 0; - position: relative; - line-height: 18px; - min-height: 36px; - - &::after { - content: ''; - display: block; - clear: both; - } - - .content { - width: 75%; - background-color: #f3f3f3; - border: 1px solid desaturate(darken(#f3f3f3, 10%), 40%); - margin-left: 38px; - border-radius: 6px; - padding: 5px; - float: left; - word-wrap: break-word; - word-break: break-word; - -ms-hyphens: auto; - -moz-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; - - &::before { - border-style: solid; - border-color: transparent desaturate(darken(#f3f3f3, 10%), 40%) transparent transparent; - content: " "; - height: 0; - width: 0; - font-size: 0; - pointer-events: none; - border-width: 5px; - position: absolute; - left: 38px; - } - } - - &:nth-child(1) { - margin-top: 0; - } - - &.new-day { - margin-top: 60px; - - &::before { - content: attr(data-date); - display: block; - position: absolute; - top: -30px; - left: calc(~'50% - 70px'); - font-size: 10px; - font-weight: 600; - text-align: center; - color: @secondary-font-color; - z-index: 1; - padding: 0 10px; - background-color: #ffffff; - min-width: 120px; - } - - .content { - &::after { - content: " "; - display: block; - position: absolute; - top: -20px; - left: 0; - width: 100%; - border-top: 1px solid #dddddd; - } - } - } - - .edit-message { - display: none; - cursor: pointer; - } - - &.own { - .content { - background-color: #feffd7; - border: 1px solid desaturate(darken(#feffd7, 10%), 40%); - float: right; - margin-right: 3px; - - &::before { - border-style: solid; - border-color: transparent transparent transparent desaturate(darken(#feffd7, 10%), 40%); - content: " "; - height: 0; - width: 0; - font-size: 0; - pointer-events: none; - border-width: 5px; - position: absolute; - right: 3px; - left: inherit; - } - } - - .thumb { - display: none; - } - } - - .delete-message { - display: none; - cursor: pointer; - } - - .user { - display: inline-block; - font-weight: 600; - color: #444444; - margin-right: 5px; - outline: none; - - &:hover { - color: #333333; - } - } - - .thumb { - position: absolute; - left: 10px; - top: 6px; - display: block; - width: 30px; - height: 30px; - } - - .info { - color: @info-font-color; - display: inline-block; - float: right; - margin: 9px -1px -5px 9px; - font-size: 9px; - text-align: right; - left: -10px; - width: 55px; - - .edited { - display: inline-block; - } - - .edit-message { - float: left; - margin-left: 1px; - } - - .delete-message { - float: left; - } - } - - &.sequential { - padding-top: 2px; - min-height: 20px; - - .user { - display: none; - } - - .thumb { - display: none; - } - } - - &.system { - .body { - color: @info-font-color; - font-style: italic; - - em { - font-weight: 600; - } - } - } - - .avatar-initials { - line-height: 40px; - } - - a { - color: @link-font-color; - font-weight: 400; - - &:hover { - color: darken(@link-font-color, 10%); - text-decoration: underline; - } - } - - .body { - opacity: 1; - transition: opacity 1s linear; - - .inline-image { - display: inline-block; - overflow: hidden; - - border-radius: 3px; - background-repeat: no-repeat; - background-position: center left; - background-size: contain; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); - - line-height: 0; - - img { - max-width: 100%; - max-height: 200px; - - cursor: pointer; - - opacity: 0; - } - } - } - - &.temp .body { - opacity: 0.5; - } - - &.msg-error .body { - text-decoration: line-through; - } - - .avatar { - height: 100%; - width: 100%; - - .avatar-image { - height: 100%; - width: 100%; - min-height: 20px; - min-width: 20px; - display: block; - position: relative; - background-color: transparent; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - border-radius: 4px; - } - } - } - } - - .new-message { - margin: 0 -65px; - position: absolute; - background: #428bca; - border-radius: 20px; - width: 130px; - height: 30px; - text-align: center; - color: #ffffff; - line-height: 30px; - font-size: 0.8em; - cursor: pointer; - bottom: 8px; - left: 50%; - z-index: 5; - transition: transform 0.3s ease-out; - transform: translateY(-40px); - - &.not { - transform: translateY(100%); - } - } - - .error { - bottom: @footer-min-height; - position: fixed; - width: 100%; - background-color: #f7d799; - padding: 5px; - z-index: 8; - transition: transform 0.2s ease-out; - transform: translateY(100%); - - &.show { - transform: translateY(0); - } - } - } - - .footer { - flex: 1 0 @footer-min-height; - z-index: 10; - background-color: #fcfcfc; - border-top: 1px solid @window-border-color; - border-left: 1px solid @window-border-color; - border-right: 1px solid @window-border-color; - - .message-bar { - display: flex; - flex-direction: row; - padding-top: 6px; - - .input-wrapper { - flex-grow: 1; - border-width: 1px; - border-radius: 4px; - margin-left: 6px; - border-color: @input-border-color; - display: flex; - align-items: center; - - textarea { - display: block; - padding: 6px 8px; - padding-right: 38px; - overflow-y: auto; - resize: none; - margin: 0; - max-height: 200px; - width: 100%; - font-size: 12px; - -webkit-appearance: none; - height: 28px; - line-height: normal; - background-color: transparent; - position: relative; - border: 0; - } - - .upload-button-box { - display: flex; - padding: 0 5px; - - svg { - width: 15px; - height: 15px; - cursor: pointer; - color: @secondary-font-color; - fill: @secondary-font-color; - - &:hover { - fill: @primary-font-color; - } - } - } - } - - .buttons { - color: @secondary-font-color; - fill: @secondary-font-color; - display: flex; - align-items: center; - padding: 0 5px; - - svg { - width: 15px; - height: 15px; - margin: 0 4px; - cursor: pointer; - transition: fill 0.15s ease-out; - - &:hover { - fill: @primary-font-color; - } - } - } - } - - .toggle-options { - clear: both; - color: @secondary-font-color; - margin-left: 6px; - outline: none; - margin-top: 5px; - font-size: 0.65rem; - } - - .typing { - clear: both; - color: @secondary-font-color; - margin-left: 8px; - outline: none; - margin-top: 2px; - font-size: 0.65rem; - } - - .options-menu { - min-width: 100px; - bottom: 21px; - left: 6px; - border-radius: 2px; - padding: 6px 0; - background-color: #ffffff; - color: @secondary-font-color; - box-shadow: - 0 1px 1px 0 rgba(0, 0, 0, 0.2), - 0 2px 10px 0 rgba(0, 0, 0, 0.16); - position: absolute; - z-index: 200; - transition: transform 0.15s ease, visibility 0.15s ease, opacity 0.15s ease; - transform: translateY(30px); - opacity: 0; - visibility: hidden; - - &.show { - transform: translateY(0); - opacity: 1; - display: block; - visibility: visible; - } - - ul { - li { - padding: 0 13px 0 8px; - - &:hover { - background-color: #eeeeee; - } - - button { - display: block; - padding: 4px 2px; - outline: none; - } - } - } - } - } - - .offline { - flex: 1 1 100%; - background-color: white; - padding: 1em 10px; - border-left: 1px solid @window-border-color; - border-right: 1px solid @window-border-color; - - .offline-message { - padding: 1em 0; - } - - .message-sent { - text-align: center; - } - - form { - input, - textarea { - display: block; - width: 100%; - } - - .buttons { - text-align: center; - } - - .error { - display: none; - background-color: #f7d799; - padding: 5px; - - &.show { - display: block; - } - } - } - } -} - -.livechat-form { - flex: 1 1 100%; - display: block; - background-color: #ffffff; - border-left: 1px solid @window-border-color; - border-right: 1px solid @window-border-color; - padding: 5px; - - input, - select { - display: block; - background-color: #ffffff; - } - - .error { - display: none; - background-color: #f7d799; - padding: 5px; - - &.show { - display: block; - } - } - - form { - padding: 0 1em; - text-align: center; - - input, - select { - width: 100%; - } - } -} - -.modal { - border-top-right-radius: inherit; - border-top-left-radius: inherit; - - .overlay { - border-top-right-radius: inherit; - border-top-left-radius: inherit; - background-color: rgba(0, 0, 0, 0.5); - position: fixed; - height: 100%; - width: 100%; - z-index: 990; - top: 0; - left: 0; - } - - .wrapper { - z-index: 999; - background: white; - position: fixed; - height: 80%; - width: 80%; - top: 15%; - left: 10%; - border-radius: 6px; - display: flex; - flex-direction: column; - - header { - flex: 1 0 40px; - padding: 0 15px; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - line-height: 40px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - } - - .content { - overflow-y: auto; - padding: 10px; - flex: 1 1 100%; - - .instructions { - margin-top: 5px; - } - - .survey-item { - margin-top: 20px; - - .question { - display: block; - } - - .answer { - margin-right: 5px; - display: inline-block; - text-align: center; - } - } - } - - footer { - flex: 1 0 60px; - border-top: 1px solid rgba(0, 0, 0, 0.1); - line-height: 60px; - text-align: right; - padding-right: 20px; - } - } -} - -.powered-by { - margin-top: -20px; - line-height: 20px; - right: 0; - z-index: 10; - text-align: right; - font-size: 0.65rem; - height: 20px; - color: #666666; - padding: 0 1em; - opacity: 0.5; - align-self: flex-end; - transition: opacity 0.15s ease-out; - - &:hover { - opacity: 1; - } - - a { - text-decoration: none; - margin-left: 1px; - - img { - height: 14px; - vertical-align: middle; - } - } -} - -.sweet-overlay { - border-top-right-radius: inherit; - border-top-left-radius: inherit; -} - -.video-call { - position: fixed; - top: @header-min-height; - bottom: 0; - left: 0; - right: 0; - background-color: #000000; - z-index: 11; - - .video-overlay { - position: fixed; - top: @header-min-height; - bottom: 0; - left: 0; - right: 0; - z-index: 13; - - .toolbar { - position: absolute; - bottom: 40px; - width: 100%; - text-align: center; - opacity: 0; - visibility: hidden; - transform: translateY(50px); - transition: opacity 0.175s ease-out, transform 0.175s ease-out, visibility 0.175s ease-out; - - &.visible { - opacity: 1; - visibility: visible; - transform: translateY(0); - } - - .end-call { - background-color: red; - fill: white; - border-radius: 50%; - height: 60px; - width: 60px; - text-align: center; - outline: none; - - svg { - width: 30px; - height: 30px; - } - } - } - } - - .container { - z-index: 12; - } -} - -.upload-preview { - .upload-preview-file { - height: 200px; - - background-repeat: no-repeat; - background-position: center center; - background-size: contain; - } -} - -@media all and(max-height: 200px) { - .livechat-room { - .title { - height: 100%; - cursor: pointer; - } - - .footer { - display: none; - } - - .messages { - display: none; - } - - .powered-by { - display: none; - } - } -} diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_keyframes.import.less b/packages/rocketchat-livechat/.app/client/stylesheets/utils/_keyframes.import.less deleted file mode 100644 index 04261b85969..00000000000 --- a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_keyframes.import.less +++ /dev/null @@ -1,183 +0,0 @@ -// keyframes - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; - visibility: hidden; - } - - 1% { - opacity: 0; - visibility: visible; - } - - 100% { - opacity: 1; - visibility: visible; - } -} - -@keyframes fadeIn { - 0% { - opacity: 0; - visibility: hidden; - } - - 1% { - opacity: 0; - visibility: visible; - } - - 100% { - opacity: 1; - visibility: visible; - } -} - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - visibility: visible; - } - - 99% { - opacity: 0; - visibility: visible; - } - - 100% { - opacity: 0; - visibility: hidden; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - visibility: visible; - } - - 99% { - opacity: 0; - visibility: visible; - } - - 100% { - opacity: 0; - visibility: hidden; - } -} - -@-webkit-keyframes highlight { - 0% { - background: #ffff99; - } - - 100% { - background: none; - } -} - -@-moz-keyframes highlight { - 0% { - background: #ffff99; - } - - 100% { - background: none; - } -} - -@-o-keyframes highlight { - 0% { - background: #ffff99; - } - - 100% { - background: none; - } -} - -@keyframes highlight { - 0% { - background: #ffff99; - } - - 100% { - background: none; - } -} - -@keyframes modalEnter { - 0% { - opacity: 0; - visibility: hidden; - } - - 1% { - opacity: 0; - visibility: visible; - transform: translateY(-150px); - } - - 100% { - opacity: 1; - visibility: visible; - transform: translateY(0); - } -} - -@-webkit-keyframes modalEnter { - 0% { - opacity: 0; - visibility: hidden; - } - - 1% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(-150px); - } - - 100% { - opacity: 1; - visibility: visible; - -webkit-transform: translateY(0); - } -} - -@keyframes modalExit { - 0% { - opacity: 1; - visibility: visible; - } - - 99% { - opacity: 0; - visibility: visible; - transform: translateY(150px); - } - - 100% { - opacity: 0; - visibility: hidden; - } -} - -@-webkit-keyframes modalExit { - 0% { - opacity: 1; - visibility: visible; - } - - 99% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(150px); - } - - 100% { - opacity: 0; - visibility: hidden; - } -} diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_loading.import.less b/packages/rocketchat-livechat/.app/client/stylesheets/utils/_loading.import.less deleted file mode 100644 index 838d5625823..00000000000 --- a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_loading.import.less +++ /dev/null @@ -1,53 +0,0 @@ -.loading-animation { - color: @secondary-font-color; - font-size: 1.3rem; - margin-left: 32px; - margin-top: 12px; - margin-bottom: 5px; -} - -.loading-animation > div { - width: 3px; - height: 3px; - border-radius: 100%; - display: inline-block; - background-color: @secondary-font-color; - -webkit-animation: loading-bouncedelay 1.4s infinite ease-in-out both; - animation: loading-bouncedelay 1.4s infinite ease-in-out both; -} - -.loading-animation .bounce1 { - -webkit-animation-delay: -0.32s; - animation-delay: -0.32s; -} - -.loading-animation .bounce2 { - -webkit-animation-delay: -0.16s; - animation-delay: -0.16s; -} - -@-webkit-keyframes loading-bouncedelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - } - - 40% { - -webkit-transform: scale(1); - } -} - -@keyframes loading-bouncedelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - - 40% { - -webkit-transform: scale(1); - transform: scale(1); - } -} diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_reset.import.less b/packages/rocketchat-livechat/.app/client/stylesheets/utils/_reset.import.less deleted file mode 100644 index 274ac1571a3..00000000000 --- a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_reset.import.less +++ /dev/null @@ -1,140 +0,0 @@ -/** -* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) -* http://cssreset.com -*/ - -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - font-size: 100%; - // font: inherit; - vertical-align: baseline; - border: 0 solid; // set default border style - &::after, - &::before { - border: 0 solid; - } -} - -/* HTML5 display-role reset for older browsers */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block; -} - -body { - line-height: 1; -} - -ol, -ul { - list-style: none; -} - -blockquote, -q { - quotes: none; -} - -blockquote::before, -blockquote::after, -q::before, -q::after { - content: ''; - content: none; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_variables.import.less b/packages/rocketchat-livechat/.app/client/stylesheets/utils/_variables.import.less deleted file mode 100644 index f98e781dba5..00000000000 --- a/packages/rocketchat-livechat/.app/client/stylesheets/utils/_variables.import.less +++ /dev/null @@ -1,33 +0,0 @@ -@header-min-height: 30px; -@footer-min-height: 55px; - -@rooms-box-width: 260px; -@flex-tab-width: 400px; -@flex-tab-webrtc-width: 400px; -@flex-tab-webrtc-2-width: 850px; - -// Colors -// -------------- - -//@primary-background-color: #045080; -//@primary-background-color: #38393d; - -@primary-background-color: #04436a; -@secondary-background-color: #f4f4f4; -@tertiary-background-color: #eaeaea; - -@link-font-color: #008ce3; - -@primary-font-color: #444444; -@secondary-font-color: #7f7f7f; -@tertiary-font-color: rgba(255, 255, 255, 0.6); -@quaternary-font-color: rgba(255, 255, 255, 0.85); -@info-font-color: #aaaaaa; - -@status-online: #4dff4d; -@status-offline: rgba(150, 150, 150, 0.5); -@status-busy: #d30230; -@status-away: #fcb316; - -@window-border-color: #e7e7e7; -@input-border-color: #cbced1; diff --git a/packages/rocketchat-livechat/.app/client/views/avatar.html b/packages/rocketchat-livechat/.app/client/views/avatar.html deleted file mode 100644 index 70781f54c7b..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/avatar.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/avatar.js b/packages/rocketchat-livechat/.app/client/views/avatar.js deleted file mode 100644 index 3464e77fd55..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/avatar.js +++ /dev/null @@ -1,24 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Session } from 'meteor/session'; -import { Template } from 'meteor/templating'; - -import visitor from '../../imports/client/visitor'; - -Template.avatar.helpers({ - imageUrl() { - let { username } = this; - if (!username && this.userId) { - const user = Meteor.users.findOne(this.userId, { fields: { username: 1 } }); - username = user && user.username; - } - - const currentUser = visitor.getData(); - if (!username || (currentUser && currentUser.username === username)) { - return; - } - - Session.get(`avatar_random_${ username }`); - - return `background-image:url(${ getAvatarUrlFromUsername(username) });`; - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/views/livechatWindow.html b/packages/rocketchat-livechat/.app/client/views/livechatWindow.html deleted file mode 100644 index 235956ca3d5..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/livechatWindow.html +++ /dev/null @@ -1,57 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js b/packages/rocketchat-livechat/.app/client/views/livechatWindow.js deleted file mode 100644 index d80f800c665..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js +++ /dev/null @@ -1,243 +0,0 @@ -/* globals Department, Livechat, LivechatVideoCall */ -import { Meteor } from 'meteor/meteor'; -import { FlowRouter } from 'meteor/kadira:flow-router'; -import { Session } from 'meteor/session'; -import { Template } from 'meteor/templating'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; - -import visitor from '../../imports/client/visitor'; - -function showDepartments() { - return Department.find({ showOnRegistration: true }).count() > 1; -} - -Template.livechatWindow.helpers({ - title() { - return Livechat.title; - }, - color() { - return Livechat.color; - }, - fontColor() { - return Livechat.fontColor; - }, - popoutActive() { - return FlowRouter.getQueryParam('mode') === 'popout'; - }, - soundActive() { - return Session.get('sound'); - }, - showRegisterForm() { - if (Session.get('triggered') || visitor.getId()) { - return false; - } - return Livechat.registrationForm && (Livechat.nameFieldRegistrationForm || Livechat.emailFieldRegistrationForm || showDepartments()); - }, - showSwitchDepartmentForm() { - return Livechat.showSwitchDepartmentForm; - }, - livechatStarted() { - return Livechat.online !== null; - }, - livechatOnline() { - return Livechat.online; - }, - offlineMessage() { - return Livechat.offlineMessage; - }, - offlineData() { - return { - offlineMessage: Livechat.offlineMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1
$2'), - offlineSuccessMessage: Livechat.offlineSuccessMessage, - offlineUnavailableMessage: Livechat.offlineUnavailableMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1
$2'), - displayOfflineForm: Livechat.displayOfflineForm, - }; - }, - videoCalling() { - return LivechatVideoCall.isActive(); - }, - isOpened() { - return Livechat.isWidgetOpened(); - }, - showWidget() { - return Livechat.online || Livechat.displayOfflineForm; - }, -}); - -Template.livechatWindow.events({ - 'mousedown .title'({ target, clientX: x, clientY: y }) { - parentCall('startDragWindow', { x, y }); - - this.onDrag = ({ clientX: x, clientY: y }) => { - parentCall('dragWindow', { - x: x - target.getBoundingClientRect().left, - y: y - target.getBoundingClientRect().top, - }); - }; - - this.onDragStop = () => { - parentCall('stopDragWindow'); - window.removeEventListener('mousemove', this.onDrag); - window.removeEventListener('mousedown', this.onDragStop); - this.onDrag = null; - this.onDragStop = null; - }; - - window.addEventListener('mousemove', this.onDrag); - window.addEventListener('mouseup', this.onDragStop); - }, - 'click .title'() { - parentCall('restoreWindow'); - }, - 'click .maximize'(e) { - parentCall('toggleWindow'); - e.stopPropagation(); - }, - 'click .minimize'(e) { - parentCall('toggleWindow'); - e.stopPropagation(); - }, - 'click .popout'(event) { - event.stopPropagation(); - parentCall('openPopout'); - }, - 'click .sound'(event) { - event.stopPropagation(); - Session.set({ sound: !Session.get('sound') }); - }, -}); - -Template.livechatWindow.onCreated(function() { - Session.set({ sound: true }); - - TAPi18n.conf.i18n_files_route = Meteor._relativeToSiteRootUrl('/tap-i18n'); - - const availableLanguages = TAPi18n.getLanguages(); - - const defaultAppLanguage = () => { - let lng = window.navigator.userLanguage || window.navigator.language || 'en'; - const regexp = /([a-z]{2}-)([a-z]{2})/; - if (regexp.test(lng)) { - lng = lng.replace(regexp, function(match, ...parts) { - return parts[0] + parts[1].toUpperCase(); - }); - } - return lng; - }; - - const loadDepartments = (departments) => { - Department.remove({}); - departments.forEach((department) => { - Department.insert(department); - }); - }; - - const normalizeLanguageString = (languageString) => { - let [languageCode, countryCode] = languageString.split ? languageString.split(/[-_]/) : []; - if (!languageCode || languageCode.length !== 2) { - return 'en'; - } - languageCode = languageCode.toLowerCase(); - - if (!countryCode || countryCode.length !== 2) { - countryCode = null; - } else { - countryCode = countryCode.toUpperCase(); - } - - return countryCode ? `${ languageCode }-${ countryCode }` : languageCode; - }; - - this.autorun(() => { - // get all needed live chat info for the user - Meteor.call('livechat:getInitialData', visitor.getToken(), Livechat.department, (err, result) => { - if (err) { - return console.error(err); - } - - if (!result.enabled) { - Triggers.setDisabled(); - return parentCall('removeWidget'); - } - - if (!result.online) { - Triggers.setDisabled(); - Livechat.title = result.offlineTitle; - Livechat.offlineColor = result.offlineColor; - Livechat.offlineMessage = result.offlineMessage; - Livechat.displayOfflineForm = result.displayOfflineForm; - Livechat.offlineUnavailableMessage = result.offlineUnavailableMessage; - Livechat.offlineSuccessMessage = result.offlineSuccessMessage; - Livechat.online = false; - } else { - Livechat.title = result.title; - Livechat.onlineColor = result.color; - Livechat.online = true; - Livechat.transcript = result.transcript; - Livechat.transcriptMessage = result.transcriptMessage; - Livechat.conversationFinishedMessage = result.conversationFinishedMessage; - } - Livechat.videoCall = result.videoCall; - Livechat.fileUpload = result.fileUpload; - Livechat.registrationForm = result.registrationForm; - Livechat.nameFieldRegistrationForm = result.nameFieldRegistrationForm; - Livechat.emailFieldRegistrationForm = result.emailFieldRegistrationForm; - Livechat.registrationFormMessage = result.registrationFormMessage; - Livechat.connecting = !!(result.room && !result.agentData && result.showConnecting); - - loadDepartments(result.departments); - - if (result.visitor) { - visitor.setData(result.visitor); - - if (result.visitor.department) { - Livechat.department = result.visitor.department; - } - - if (result.visitor.name) { - Livechat.guestName = result.visitor.name; - } - - if (result.visitor.visitorEmails && result.visitor.visitorEmails.length > 0) { - Livechat.guestEmail = result.visitor.visitorEmails[0].address; - } - - if (!Livechat.department) { - Livechat.department = result.visitor.department; - } - } - - let room; - if (result.room && (!result.room.departmentId || !Livechat.department || result.room.departmentId === Livechat.department)) { - room = result.room._id; - - visitor.setConnected(); - } - Livechat.room = room; - - if (result.agentData) { - Livechat.agent = result.agentData; - } - - let language = normalizeLanguageString(result.language || defaultAppLanguage()); - - if (!availableLanguages[language]) { - language = language.split('-').shift(); - } - - TAPi18n.setLanguage(language); - - Triggers.init(result.triggers); - - Livechat.allowSwitchingDepartments = result.allowSwitchingDepartments; - - Livechat.ready(); - }); - }); - - $(window).on('focus', () => { - if (Livechat.isWidgetOpened()) { - $('textarea').focus(); - } - }); -}); diff --git a/packages/rocketchat-livechat/.app/client/views/loading.html b/packages/rocketchat-livechat/.app/client/views/loading.html deleted file mode 100644 index c418867d068..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/loading.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/main.html b/packages/rocketchat-livechat/.app/client/views/main.html deleted file mode 100644 index 88dcd7478c7..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/main.html +++ /dev/null @@ -1,21 +0,0 @@ - - Rocket.Chat - - - - - - - - - - - - - - - diff --git a/packages/rocketchat-livechat/.app/client/views/message.html b/packages/rocketchat-livechat/.app/client/views/message.html deleted file mode 100644 index 3945b3e471c..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/message.html +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/message.js b/packages/rocketchat-livechat/.app/client/views/message.js deleted file mode 100644 index 69381c49747..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/message.js +++ /dev/null @@ -1,119 +0,0 @@ -/* globals Livechat, t, tr, livechatAutolinker */ -import { Blaze } from 'meteor/blaze'; -import { Template } from 'meteor/templating'; -import moment from 'moment'; -import s from 'underscore.string'; - -import visitor from '../../imports/client/visitor'; - -Template.message.helpers({ - own() { - if (this.u && this.u._id === visitor.getId()) { - return 'own'; - } - }, - time() { - return moment(this.ts).format('LT'); - }, - date() { - return moment(this.ts).format('LL'); - }, - isTemp() { - if (this.temp === true) { - return 'temp'; - } - }, - error() { - if (this.error) { - return 'msg-error'; - } - }, - body() { - switch (this.t) { - case 'r': - return t('Room_name_changed', { room_name: this.msg, user_by: this.u.username }); - case 'au': - return t('User_added_by', { user_added: this.msg, user_by: this.u.username }); - case 'ru': - return t('User_removed_by', { user_removed: this.msg, user_by: this.u.username }); - case 'ul': - return tr('User_left', { context: this.u.gender }, { user_left: this.u.username }); - case 'uj': - return tr('User_joined', { context: this.u.gender }, { user: this.u.username }); - case 'wm': - return t('Welcome', { user: this.u.username }); - case 'livechat-close': - return Livechat.conversationFinishedMessage ? Livechat.conversationFinishedMessage : t('Conversation_finished'); - // case 'rtc': return RocketChat.callbacks.run('renderRtcMessage', this); - default: - this.html = this.msg; - if (s.trim(this.html) !== '') { - this.html = s.escapeHTML(this.html); - } - // message = RocketChat.callbacks.run 'renderMessage', this - const message = this; - this.html = message.html.replace(/\n/gm, '
'); - return livechatAutolinker.link(this.html); - } - }, - - system() { - if (['s', 'p', 'f', 'r', 'au', 'ru', 'ul', 'wm', 'uj', 'livechat-close'].includes(this.t)) { - return 'system'; - } - }, - - sender() { - const { agent } = Livechat; - if (agent && this.u.username === agent.username) { - return agent.name || agent.username; - } - return this.u.username; - }, -}); - -Template.message.onViewRendered = function(context) { - const view = this; - this._domrange.onAttached(function(domRange) { - const lastNode = domRange.lastNode(); - const previousNode = lastNode.previousElementSibling; - const nextNode = lastNode.nextElementSibling; - - if (!previousNode || previousNode.dataset.date !== lastNode.dataset.date) { - $(lastNode).addClass('new-day'); - $(lastNode).removeClass('sequential'); - } else if (previousNode.dataset.username !== lastNode.dataset.username) { - $(lastNode).removeClass('sequential'); - } - - if (nextNode && nextNode.dataset.date === lastNode.dataset.date) { - $(nextNode).removeClass('new-day'); - $(nextNode).addClass('sequential'); - } else { - $(nextNode).addClass('new-day'); - $(nextNode).removeClass('sequential'); - } - - if (!nextNode || nextNode.dataset.username !== lastNode.dataset.username) { - $(nextNode).removeClass('sequential'); - } - - if (context.urls && context.urls.length > 0 && Template.oembedBaseWidget) { - context.urls.forEach((item) => { - const urlNode = lastNode.querySelector(`.body a[href="${ item.url }"]`); - if (urlNode) { - $(urlNode).replaceWith(Blaze.toHTMLWithData(Template.oembedBaseWidget, item)); - } - }); - } - - if (!nextNode) { - if (lastNode.classList.contains('own')) { - view.parentView.parentView.parentView.parentView.parentView.templateInstance().atBottom = true; - } else if (view.parentView.parentView.parentView.parentView.parentView.templateInstance().atBottom !== true) { - const newMessage = document.querySelector('.new-message'); - newMessage.className = 'new-message'; - } - } - }); -}; diff --git a/packages/rocketchat-livechat/.app/client/views/messageAttachment.html b/packages/rocketchat-livechat/.app/client/views/messageAttachment.html deleted file mode 100644 index 6981892dcf9..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/messageAttachment.html +++ /dev/null @@ -1,60 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/messageAttachment.js b/packages/rocketchat-livechat/.app/client/views/messageAttachment.js deleted file mode 100644 index 0312aef3283..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/messageAttachment.js +++ /dev/null @@ -1,8 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.messageAttachment.helpers({ - - getImageHeight(height = 200) { - return height; - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/views/messages.html b/packages/rocketchat-livechat/.app/client/views/messages.html deleted file mode 100644 index 62f7d953c53..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/messages.html +++ /dev/null @@ -1,78 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/messages.js b/packages/rocketchat-livechat/.app/client/views/messages.js deleted file mode 100644 index b698dfd0a33..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/messages.js +++ /dev/null @@ -1,245 +0,0 @@ -/* globals Livechat, LivechatVideoCall, MsgTyping, fileUpload, showError, hideError */ -import { Meteor } from 'meteor/meteor'; -import { Tracker } from 'meteor/tracker'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import mime from 'mime-type/with-db'; - -import visitor from '../../imports/client/visitor'; - -Template.messages.helpers({ - messages() { - return ChatMessage.find({ - rid: visitor.getRoom(), - t: { - $nin: ['t', 'livechat_navigation_history'], - }, - }, { - sort: { - ts: 1, - }, - }); - }, - showOptions() { - if (Template.instance().showOptions.get()) { - return 'show'; - } - return ''; - }, - optionsLink() { - if (Template.instance().showOptions.get()) { - return t('Close_menu'); - } - return t('Options'); - }, - videoCallEnabled() { - return Livechat.videoCall; - }, - fileUploadEnabled() { - return Livechat.fileUpload && Template.instance().isMessageFieldEmpty.get(); - }, - usersTyping() { - const users = MsgTyping.get(visitor.getRoom()); - if (users.length === 0) { - return; - } - if (users.length === 1) { - return { - multi: false, - selfTyping: MsgTyping.selfTyping.get(), - users: users[0], - }; - } - // usernames = _.map messages, (message) -> return message.u.username - let last = users.pop(); - if (users.length > 4) { - last = t('others'); - } - // else - let usernames = users.join(', '); - usernames = [usernames, last]; - return { - multi: true, - selfTyping: MsgTyping.selfTyping.get(), - users: usernames.join(` ${ t('and') } `), - }; - }, - agentData() { - const { agent } = Livechat; - if (!agent) { - return null; - } - - const agentData = { - avatar: getAvatarUrlFromUsername(agent.username), - }; - - if (agent.name) { - agentData.name = agent.name; - } - - if (agent.emails && agent.emails[0] && agent.emails[0].address) { - agentData.email = agent.emails[0].address; - } - - if (agent.phone && agent.phone.length > 0) { - agentData.phone = agent.phone[0].phoneNumber; - } else if (agent.customFields && agent.customFields.phone) { - agentData.phone = agent.customFields.phone; - } - - return agentData; - }, -}); - -Template.messages.events({ - 'keyup .input-message'(event, instance) { - instance.chatMessages.keyup(visitor.getRoom(), event, instance); - instance.updateMessageInputHeight(event.currentTarget); - instance.isMessageFieldEmpty.set(event.target.value === ''); - }, - 'keydown .input-message'(event, instance) { - return instance.chatMessages.keydown(visitor.getRoom(), event, instance); - }, - 'click .send-button'(event, instance) { - const input = instance.find('.input-message'); - const sent = instance.chatMessages.send(visitor.getRoom(), input); - input.focus(); - instance.updateMessageInputHeight(input); - instance.isMessageFieldEmpty.set(input.value === ''); - - return sent; - }, - 'click .new-message'(event, instance) { - instance.atBottom = true; - return instance.find('.input-message').focus(); - }, - 'click .error'(event) { - return $(event.currentTarget).removeClass('show'); - }, - 'click .toggle-options'(event, instance) { - instance.showOptions.set(!instance.showOptions.get()); - }, - 'click .video-button'(event) { - event.preventDefault(); - - if (!visitor.getId()) { - Meteor.call('livechat:registerGuest', { token: visitor.getToken() }, (error, result) => { - if (error) { - return console.log(error.reason); - } - - visitor.setId(result.userId); - visitor.setData(result.visitor); - LivechatVideoCall.request(); - }); - } else { - LivechatVideoCall.request(); - } - }, - 'click .upload-button'(event) { - event.preventDefault(); - - const $input = $(document.createElement('input')); - $input.css('display', 'none'); - $input.attr({ - id: 'fileupload-input', - type: 'file', - }); - - $(document.body).append($input); - - $input.one('change', function(e) { - const { files } = e.target; - if (files && (files.length > 0)) { - const file = files[0]; - Object.defineProperty(file, 'type', { - value: mime.lookup(file.name), - }); - - fileUpload({ - file, - name: file.name, - }); - } - $input.remove(); - }); - - $input.click(); - }, -}); - -Template.messages.onCreated(function() { - this.atBottom = true; - this.isMessageFieldEmpty = new ReactiveVar(true); - this.showOptions = new ReactiveVar(false); - - this.updateMessageInputHeight = function(input) { - // Inital height is 28. If the scrollHeight is greater than that( we have more text than area ), - // increase the size of the textarea. The max-height is set at 200 - // even if the scrollHeight become bigger than that it should never exceed that. - // Account for no text in the textarea when increasing the height. - // If there is no text, reset the height. - const inputScrollHeight = $(input).prop('scrollHeight'); - if (inputScrollHeight > 28) { - const scrollHeight = inputScrollHeight >= 200 ? inputScrollHeight - 50 : inputScrollHeight - 20; - return $(input).height($(input).val() === '' ? '15px' : scrollHeight); - } - }; - - $(document).click((/* event*/) => { - if (!this.showOptions.get()) { - return; - } - const target = $(event.target); - if (!target.closest('.options-menu').length && !target.is('.options-menu') && !target.closest('.toggle-options').length && !target.is('.toggle-options')) { - this.showOptions.set(false); - } - }); -}); - -Template.messages.onRendered(function() { - this.chatMessages = new ChatMessages(); - this.chatMessages.init(this.firstNode); -}); - -Template.messages.onRendered(function() { - const messages = this.find('.messages'); - const newMessage = this.find('.new-message'); - const template = this; - - if (messages) { - const onscroll = _.throttle(function() { - template.atBottom = messages.scrollTop >= messages.scrollHeight - messages.clientHeight; - }, 200); - Meteor.setInterval(function() { - if (template.atBottom) { - messages.scrollTop = messages.scrollHeight - messages.clientHeight; - newMessage.className = 'new-message not'; - } - }, 100); - messages.addEventListener('touchstart', function() { - template.atBottom = false; - }); - messages.addEventListener('touchend', function() { - onscroll(); - }); - messages.addEventListener('scroll', function() { - template.atBottom = false; - onscroll(); - }); - messages.addEventListener('mousewheel', function() { - template.atBottom = false; - onscroll(); - }); - messages.addEventListener('wheel', function() { - template.atBottom = false; - onscroll(); - }); - } - - Tracker.autorun(() => { - Livechat.connecting ? showError(t('Please_wait_for_the_next_available_agent')) : hideError(); - }); -}); diff --git a/packages/rocketchat-livechat/.app/client/views/offlineForm.html b/packages/rocketchat-livechat/.app/client/views/offlineForm.html deleted file mode 100644 index 655687876b9..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/offlineForm.html +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/offlineForm.js b/packages/rocketchat-livechat/.app/client/views/offlineForm.js deleted file mode 100644 index 0e2dc512f9f..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/offlineForm.js +++ /dev/null @@ -1,86 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import _ from 'underscore'; -import s from 'underscore.string'; - -Template.offlineForm.helpers({ - error() { - return Template.instance().error.get(); - }, - messageSent() { - return Template.instance().messageSent.get(); - }, - offlineMessage() { - return !_.isEmpty(this.offlineMessage) ? this.offlineMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1
$2') : TAPi18n.__('We_are_not_online_right_now_please_leave_a_message'); - }, - offlineSuccessMessage() { - if (!_.isEmpty(this.offlineSuccessMessage)) { - return this.offlineSuccessMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1
$2'); - } - return TAPi18n.__('Thanks_We_ll_get_back_to_you_soon'); - }, -}); - -Template.offlineForm.events({ - 'submit form'(event, instance) { - event.preventDefault(); - - const form = event.currentTarget; - - const data = { - name: form.elements.name.value, - email: form.elements.email.value, - message: form.elements.message.value, - }; - - if (!instance.validateForm(form)) { - instance.showError(TAPi18n.__('You_must_complete_all_fields')); - return; - } - - instance.$('.send').attr('disabled', 'disabled'); - - Meteor.call('livechat:sendOfflineMessage', data, (error) => { - instance.$('.send').attr('disabled', null); - - if (error) { - return instance.showError(error.reason); - } - instance.messageSent.set(true); - parentCall('callback', ['offline-form-submit', data]); - }); - }, -}); - -Template.offlineForm.onCreated(function() { - this.error = new ReactiveVar(); - this.messageSent = new ReactiveVar(false); - - this.validateForm = (form) => { - let valid = true; - - const fields = ['name', 'email', 'message']; - - for (let i = 0; i < fields.length; i++) { - $(form.elements[fields[i]]).removeClass('field-error'); - - if (_.isEmpty(s.trim(form.elements[fields[i]].value))) { - $(form.elements[fields[i]]).addClass('field-error'); - valid = false; - } - } - - return valid; - }; - - this.showError = (msg) => { - $('.error').addClass('show'); - this.error.set(msg); - }; - this.hideError = () => { - $('.error').removeClass('show'); - this.error.set(); - }; -}); diff --git a/packages/rocketchat-livechat/.app/client/views/options.html b/packages/rocketchat-livechat/.app/client/views/options.html deleted file mode 100644 index 605111d3fce..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/options.html +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/options.js b/packages/rocketchat-livechat/.app/client/views/options.js deleted file mode 100644 index c791fc2288b..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/options.js +++ /dev/null @@ -1,44 +0,0 @@ -/* globals Department, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import swal from 'sweetalert2'; - -import visitor from '../../imports/client/visitor'; - -Template.options.helpers({ - showDepartments() { - return Livechat.allowSwitchingDepartments && Department.find({ showOnRegistration: true }).count() > 1; - }, - departments() { - return Department.find({ showOnRegistration: true }); - }, - selectedDepartment() { - return this._id === Livechat.department; - }, -}); - -Template.options.events({ - 'click .end-chat'() { - swal({ - text: t('Are_you_sure_do_you_want_end_this_chat'), - title: '', - type: 'warning', - showCancelButton: true, - confirmButtonColor: '#DD6B55', - confirmButtonText: t('Yes'), - cancelButtonText: t('No'), - html: false, - }).then((result) => { - if (result.value) { - Meteor.call('livechat:closeByVisitor', { roomId: visitor.getRoom(), token: visitor.getToken() }, (error) => { - if (error) { - return console.log('Error ->', error); - } - }); - } - }); - }, - 'click .switch-department'() { - Livechat.showSwitchDepartmentForm = true; - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/views/poweredBy.html b/packages/rocketchat-livechat/.app/client/views/poweredBy.html deleted file mode 100644 index d5d62a027dd..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/poweredBy.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/register.html b/packages/rocketchat-livechat/.app/client/views/register.html deleted file mode 100644 index 1e3e533b7e3..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/register.html +++ /dev/null @@ -1,33 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/register.js b/packages/rocketchat-livechat/.app/client/views/register.js deleted file mode 100644 index 56f3fd3c79a..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/register.js +++ /dev/null @@ -1,129 +0,0 @@ -/* globals Department, Livechat, LivechatVideoCall */ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import _ from 'underscore'; -import s from 'underscore.string'; - -import visitor from '../../imports/client/visitor'; - -Template.register.helpers({ - error() { - return Template.instance().error.get(); - }, - welcomeMessage() { - return Livechat.registrationFormMessage; - }, - showDepartments() { - return Department.find({ showOnRegistration: true }).count() > 1; - }, - departments() { - return Department.find({ showOnRegistration: true }); - }, - videoCallEnabled() { - return Livechat.videoCall; - }, - selectedDepartment() { - return this._id === Livechat.department; - }, - showNameFieldRegisterForm() { - return Livechat.nameFieldRegistrationForm; - }, - showEmailFieldRegisterForm() { - return Livechat.emailFieldRegistrationForm; - }, - getName() { - return Livechat.guestName; - }, - getEmail() { - return Livechat.guestEmail; - }, -}); - -Template.register.events({ - 'submit #livechat-registration'(e, instance) { - e.preventDefault(); - - const start = () => { - instance.hideError(); - if (instance.request === 'video') { - LivechatVideoCall.request(); - } - }; - const form = e.currentTarget; - - const fields = []; - let name = Livechat.guestName; - let email = Livechat.guestEmail; - - if (Livechat.nameFieldRegistrationForm) { - fields.push('name'); - name = instance.$('input[name=name]').val(); - } - - if (Livechat.emailFieldRegistrationForm) { - fields.push('email'); - email = instance.$('input[name=email]').val(); - } - - if (!instance.validateForm(form, fields)) { - return instance.showError(TAPi18n.__('You_must_complete_all_fields')); - } - let departmentId = instance.$('select[name=department]').val(); - if (!departmentId) { - const department = Department.findOne({ showOnRegistration: true }); - if (department) { - departmentId = department._id; - } - } - - Livechat.department = departmentId; - - const guest = { - token: visitor.getToken(), - name, - email, - department: Livechat.department, - }; - - Meteor.call('livechat:registerGuest', guest, function(error, result) { - if (error != null) { - return instance.showError(error.reason); - } - parentCall('callback', ['pre-chat-form-submit', _.omit(guest, 'token')]); - visitor.setId(result.userId); - visitor.setData(result.visitor); - start(); - }); - }, - 'click .error'(e, instance) { - return instance.hideError(); - }, - 'click .request-chat'(e, instance) { - instance.request = 'chat'; - }, - 'click .request-video'(e, instance) { - instance.request = 'video'; - }, -}); - -Template.register.onCreated(function() { - this.error = new ReactiveVar(); - this.request = ''; - - this.validateForm = (form, fields) => { - const valid = fields.every((field) => !_.isEmpty(s.trim(form.elements[field].value))); - - return valid; - }; - - this.showError = (msg) => { - $('.error').addClass('show'); - this.error.set(msg); - }; - this.hideError = () => { - $('.error').removeClass('show'); - this.error.set(); - }; -}); diff --git a/packages/rocketchat-livechat/.app/client/views/survey.html b/packages/rocketchat-livechat/.app/client/views/survey.html deleted file mode 100644 index ddd50f96cd2..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/survey.html +++ /dev/null @@ -1,65 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/survey.js b/packages/rocketchat-livechat/.app/client/views/survey.js deleted file mode 100644 index 6331c981414..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/survey.js +++ /dev/null @@ -1,24 +0,0 @@ -/* globals */ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import swal from 'sweetalert2'; - -import visitor from '../../imports/client/visitor'; - -Template.survey.events({ - 'click button.skip'(e, instance) { - instance.$('#survey').remove(); - }, - - 'click button.send'(e, instance) { - const formData = instance.$('form').serializeArray(); - Meteor.call('livechat:saveSurveyFeedback', visitor.getToken(), visitor.getRoom(), formData, function(/* err, results*/) { - instance.$('#survey').remove(); - swal({ - title: t('Thank_you_for_your_feedback'), - type: 'success', - timer: 2000, - }); - }); - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/views/switchDepartment.html b/packages/rocketchat-livechat/.app/client/views/switchDepartment.html deleted file mode 100644 index ee56767bd2a..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/switchDepartment.html +++ /dev/null @@ -1,21 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js b/packages/rocketchat-livechat/.app/client/views/switchDepartment.js deleted file mode 100644 index b14c6e8921a..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js +++ /dev/null @@ -1,84 +0,0 @@ -/* globals Department, Livechat */ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; -import swal from 'sweetalert2'; - -import visitor from '../../imports/client/visitor'; - -Template.switchDepartment.helpers({ - departments() { - return Department.find({ - showOnRegistration: true, - _id: { - $ne: Livechat.department, - }, - }); - }, - error() { - return Template.instance().error.get(); - }, - showError() { - return Template.instance().error.get() ? 'show' : ''; - }, -}); - -Template.switchDepartment.onCreated(function() { - this.error = new ReactiveVar(); -}); - -Template.switchDepartment.events({ - 'submit form'(e, instance) { - e.stopPropagation(); - e.preventDefault(); - - const departmentId = instance.$('.switch-department-select').val(); - if (!departmentId) { - instance.error.set(t('Please_choose_a_department')); - return; - } - - instance.error.set(); - swal({ - text: t('Are_you_sure_do_you_want_switch_the_department'), - title: '', - type: 'warning', - showCancelButton: true, - confirmButtonColor: '#DD6B55', - confirmButtonText: t('Yes'), - cancelButtonText: t('No'), - html: false, - }).then((result) => { - if (!result.value) { - return; - } - - const guestData = { - roomId: visitor.getRoom(), - visitorToken: visitor.getToken(), - departmentId, - }; - - Meteor.call('livechat:setDepartmentForVisitor', guestData, (error, result) => { - if (error) { - instance.error.set(error.error); - } else if (result) { - instance.error.set(); - Livechat.department = departmentId; - Livechat.showSwitchDepartmentForm = false; - swal({ - title: t('Department_switched'), - type: 'success', - timer: 2000, - }); - } else { - instance.error.set(t('No_available_agents_to_transfer')); - } - }); - }); - }, - - 'click #btnCancel'() { - Livechat.showSwitchDepartmentForm = false; - }, -}); diff --git a/packages/rocketchat-livechat/.app/client/views/videoCall.html b/packages/rocketchat-livechat/.app/client/views/videoCall.html deleted file mode 100644 index 43d9b4a11eb..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/videoCall.html +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/packages/rocketchat-livechat/.app/client/views/videoCall.js b/packages/rocketchat-livechat/.app/client/views/videoCall.js deleted file mode 100644 index 2b912481d49..00000000000 --- a/packages/rocketchat-livechat/.app/client/views/videoCall.js +++ /dev/null @@ -1,38 +0,0 @@ -/* globals LivechatVideoCall */ -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; - -Template.videoCall.helpers({ - visible() { - if (Template.instance().showToolbar.get()) { - return 'visible'; - } - }, -}); - -Template.videoCall.events({ - 'click .end-call'() { - LivechatVideoCall.finish(); - }, - 'click .video-overlay'(e, instance) { - if (instance.timeout) { - clearTimeout(instance.timeout); - } - instance.showToolbar.set(!instance.showToolbar.get()); - - if (instance.showToolbar.get()) { - instance.timeout = setTimeout(() => { - instance.showToolbar.set(false); - }, 3000); - } - }, -}); - -Template.videoCall.onCreated(function() { - this.timeout = null; - this.showToolbar = new ReactiveVar(true); - - this.timeout = setTimeout(() => { - this.showToolbar.set(false); - }, 10000); -}); diff --git a/packages/rocketchat-livechat/.app/i18n/af.i18n.json b/packages/rocketchat-livechat/.app/i18n/af.i18n.json deleted file mode 100644 index a6bbc51b90f..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/af.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Bykomende terugvoer", - "Appearance": "voorkoms", - "Are_you_sure_do_you_want_end_this_chat": "Is jy seker jy wil hierdie klets beëindig?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Is jy seker jy wil hierdie klets skakel en skakel afdeling?", - "Cancel": "kanselleer", - "Change": "verandering", - "Chat_ended": "Klets geëindig!", - "Choose_a_new_department": "Kies 'n nuwe departement", - "Close_menu": "Sluit spyskaart", - "Conversation_finished": "Gesprek afgehandel", - "End_chat": "Einde klets", - "How_friendly_was_the_chat_agent": "Hoe vriendelik was die kletsagent?", - "How_knowledgeable_was_the_chat_agent": "Hoe kundig was die kletsagent?", - "How_responsive_was_the_chat_agent": "Hoe reageer was die kletsagent?", - "How_satisfied_were_you_with_this_chat": "Hoe tevrede was jy met hierdie klets?", - "Installation": "installasie", - "New_messages": "Nuwe boodskappe", - "No": "Geen", - "Options": "opsies", - "Please_answer_survey": "Neem asseblief 'n oomblik om 'n vinnige opname oor hierdie gesprek te beantwoord", - "Please_choose_a_department": "Kies asseblief 'n departement", - "Please_fill_name_and_email": "Vul asb. Naam en e-pos in", - "Powered_by": "Aangedryf deur", - "Request_video_chat": "Vra videochat", - "Select_a_department": "Kies 'n departement", - "Switch_department": "Skakel afdeling", - "Department_switched": "Departement aangeskakel", - "Send": "stuur", - "Skip": "Huppel", - "Start_Chat": "Begin Chat", - "Survey": "opname", - "Survey_instructions": "Beoordeel elke vraag volgens jou tevredenheid, 1 wat beteken dat jy heeltemal ontevrede is en 5 wat beteken dat jy heeltemal tevrede is.", - "Thank_you_for_your_feedback": "Dankie vir jou terugvoering", - "Thanks_We_ll_get_back_to_you_soon": "Dankie! Ons sal binnekort terugkom.", - "transcript_sent": "Transkripsie gestuur", - "Type_your_email": "Tik jou e-pos", - "Type_your_message": "Tik jou boodskap", - "Type_your_name": "Tik jou naam", - "Upload_file_question": "Laai leêr op?", - "User_joined": "Gebruiker aangesluit", - "User_left": "Gebruiker oor", - "We_are_not_online_right_now_please_leave_a_message": "Ons is nie aanlyn nie. Asseblief, laat 'n boodskap.", - "We_are_offline_Sorry_for_the_inconvenience": "Ons is vanlyn. Jammer vir die ongerief.", - "Yes": "Ja", - "You": "jy", - "You_must_complete_all_fields": "U moet alle velde invul" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ar.i18n.json b/packages/rocketchat-livechat/.app/i18n/ar.i18n.json deleted file mode 100644 index c651dd29e25..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ar.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "ملاحظات إضافية", - "Appearance": "المظهر", - "Are_you_sure_do_you_want_end_this_chat": "هل تُؤكّد إنهاء هذه الدردشة؟", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "هل تُؤكّد إنهاء هذه الدردشة وتغيير الفرع؟", - "Cancel": "إلغاء", - "Change": "تغيير", - "Chat_ended": "تم إنهاء الدردشة!", - "Choose_a_new_department": "اختيار فرع جديد", - "Close_menu": "إغلاق القائمة", - "Conversation_finished": "تم إنهاء المحادثة", - "End_chat": "إنهاء الدردشة", - "How_friendly_was_the_chat_agent": "كيف ودية وكان وكيل الدردشة؟", - "How_knowledgeable_was_the_chat_agent": "معرفة كيف كان وكيل الدردشة؟", - "How_responsive_was_the_chat_agent": "كيف تستجيب كان وكيل الدردشة؟", - "How_satisfied_were_you_with_this_chat": "ما مدى رضاك ​​مع هذه الدردشة؟", - "Installation": "تنصيب", - "New_messages": "رسائل جديدة", - "No": "لا", - "Options": "خيارات", - "Please_answer_survey": "يرجى ان نتوقف لحظة للرد على مسح سريع حول هذه الدردشة", - "Please_choose_a_department": "الرجاء اختيار فرع", - "Please_fill_name_and_email": "الرجاء إدخال الإسم والبريد الإلكتروني", - "Powered_by": "مشغل بواسطة", - "Request_video_chat": "طلب دردشة عبر الفيديو", - "Select_a_department": "حدد القسم", - "Switch_department": "تغيير الفرع", - "Department_switched": "تم تغيير الفرع", - "Send": "إرسال", - "Skip": "تخطي", - "Start_Chat": "بدأ الدردشة", - "Survey": "الدراسة الاستقصائية", - "Survey_instructions": "معدل كل سؤال وفقا لالارتياح الخاص بك، 1 وهذا يعني أنك غير راضي تماما و 5 يعني كنت راضيا تماما.", - "Thank_you_for_your_feedback": "شكرا لأفادتك", - "Thanks_We_ll_get_back_to_you_soon": "شكر! سوف نعود إليك قريبا.", - "transcript_sent": "تم إرسال رسالة النسخ السماعي", - "Type_your_email": "اكتب بريدك الالكتروني", - "Type_your_message": "اكتب رسالتك", - "Type_your_name": "اكتب اسمك", - "Upload_file_question": "تحميل الملف؟", - "User_joined": "العضو انضم", - "User_left": "اليسار المستخدم", - "We_are_not_online_right_now_please_leave_a_message": "نحن لسنا على الانترنت الآن. يرجى ترك رسالة.", - "We_are_offline_Sorry_for_the_inconvenience": "نحن حاليا. آسف للإزعاج.", - "Yes": "نعم", - "You": "أنت", - "You_must_complete_all_fields": "يجب عليك إكمال جميع الحقول" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/az.i18n.json b/packages/rocketchat-livechat/.app/i18n/az.i18n.json deleted file mode 100644 index 99836872488..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/az.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "əlavə Əlaqə", - "Appearance": "Görünüş", - "Are_you_sure_do_you_want_end_this_chat": "Bu söhbəti bitirməyə əminsinizmi?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Bu söhbəti bitirmək və departamentinizə keçmək istədiyinizə əminsiniz?", - "Cancel": "Ləğv et", - "Change": "Change", - "Chat_ended": "Sohbet sona çatdı!", - "Choose_a_new_department": "Yeni bir şöbə seçin", - "Close_menu": "Menüyü bağla", - "Conversation_finished": "Söhbət başa çatdı", - "End_chat": "Söhbətə son verin", - "How_friendly_was_the_chat_agent": "Çağdaş agent nə qədər dost idi?", - "How_knowledgeable_was_the_chat_agent": "Chat agenti necə məlumatlı idi?", - "How_responsive_was_the_chat_agent": "Chat agenti necə həssas idi?", - "How_satisfied_were_you_with_this_chat": "Bu söhbət sizi necə razı etdi?", - "Installation": "Quraşdırma", - "New_messages": "Yeni mesajlar", - "No": "Yox", - "Options": "Seçimlər", - "Please_answer_survey": "Bu söhbət haqqında tez bir anketə cavab vermək üçün bir an çəkin", - "Please_choose_a_department": "Xahiş edirik bölməni seçin", - "Please_fill_name_and_email": "Xahiş edirik adı və e-poçtu doldurun", - "Powered_by": "Powered by", - "Request_video_chat": "Video chatdan istək", - "Select_a_department": "Bir şöbə seçin", - "Switch_department": "Şöbə keçid", - "Department_switched": "Şöbə keçdi", - "Send": "Göndər", - "Skip": "Atlayın", - "Start_Chat": "Chat başlayın", - "Survey": "Sorğu", - "Survey_instructions": "Hər sualınızı məmnuniyyətinizə görə qiymətləndirin, 1 mənası tamamilə razı deyilsiniz və 5 mənasını tamamilə məmnun edirsiniz.", - "Thank_you_for_your_feedback": "Əlaqə üçün təşəkkür edirik", - "Thanks_We_ll_get_back_to_you_soon": "Təşəkkür edirik! Tezliklə sizə geri dönəcəyik.", - "transcript_sent": "Transcript göndərildi", - "Type_your_email": "E-poçtunuzu yazın", - "Type_your_message": "Mesajınızı yazın", - "Type_your_name": "Adınızı yazın", - "Upload_file_question": "Fayl yükləməyiniz?", - "User_joined": "İstifadəçi qatıldı", - "User_left": "İstifadəçi buraxdı", - "We_are_not_online_right_now_please_leave_a_message": "İndi online deyil. Xahiş edirik bir mesaj buraxın.", - "We_are_offline_Sorry_for_the_inconvenience": "Biz offline. Narahatçılığa görə üzr istəyirik.", - "Yes": "Bəli", - "You": "Sən", - "You_must_complete_all_fields": "Bütün sahələri doldurmalısınız" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/bas-CM.i18n.json b/packages/rocketchat-livechat/.app/i18n/bas-CM.i18n.json deleted file mode 100644 index 45f86f5e92d..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/bas-CM.i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Are_you_sure_do_you_want_end_this_chat": "U sombol toy melés i nkwel ?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "U sombol toy melés li yo lini i nyu takbè i departement ipè ?", - "Change": "héñha", - "Chat_ended": "I nkwel i mal !", - "Conversation_finished": "I nkwel i mal !", - "End_chat": "Il yo li mal" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json b/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json deleted file mode 100644 index 1a282c16c09..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Additional_Feedback": "Дадатковая зваротная сувязь", - "Appearance": "Знешні выгляд", - "Are_you_sure_do_you_want_end_this_chat": "Вы ўпэўнены, што жадаеце скончыць гэты чат?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Вы ўпэўненыы, што жадаеце скончыць гэты чат і пераключыць аддзел?", - "Cancel": "Адмяніць", - "Change": "Змена", - "Chat_ended": "Чат завершаны!", - "Choose_a_new_department": "Выбраць новы аддзел", - "Close_menu": "Закрыць меню", - "Conversation_finished": "Размова скончана", - "End_chat": "Скончыць чат", - "How_friendly_was_the_chat_agent": "Як дружалюбны быў чат агент?", - "How_knowledgeable_was_the_chat_agent": "Наколькі кампетэнтны быў супрацоўнік чата?", - "How_responsive_was_the_chat_agent": "Наколькі спагадны быў супрацоўнік чата?", - "How_satisfied_were_you_with_this_chat": "Наколькі вы былі задаволены гэтым чатам?", - "Installation": "Ўстаноўка", - "New_messages": "Новыя паведамленні", - "New_livechat_in_queue": "Новы чат у чарзе", - "No": "Няма", - "Options": "Опцыі", - "Please_answer_survey": "Калі ласка, знайдзіце час, каб адказаць на экспрэс-апытанне аб гэтым чаце", - "Please_choose_a_department": "Калі ласка, выберыце Аддзел", - "Please_fill_name_and_email": "Запоўніце, калі ласка, імя і адрас электроннай пошты", - "Powered_by": "Працуе на", - "Request_video_chat": "Запытаць відыачат", - "Select_a_department": "Выберыце аддзел", - "Switch_department": "Змяніць аддзел", - "Department_switched": "Аддзел пераключыўся", - "Send": "Паслаць", - "Skip": "Прапусціць", - "Start_Chat": "Пачаць чат", - "Survey": "Апытанне", - "Survey_instructions": "Ацаніце кожнае пытанне па вашай задаволенасці, 1 азначае, што вы цалкам незадаволеныя і 5 азначае, што вы цалкам задаволеныя.", - "Thank_you_for_your_feedback": "Дзякуй за ваш водгук", - "Thanks_We_ll_get_back_to_you_soon": "Дзякуй! Мы звяжамся з вамі ў бліжэйшы час.", - "transcript_sent": "Cтэнаграма адпраўлена", - "Type_your_email": "Увядзіце адрас электроннай пошты", - "Type_your_message": "Увядзіце ваша паведамленне", - "Type_your_name": "Увядзіце сваё імя", - "Upload_file_question": "Загрузіць файл?", - "User_joined": "Карыстальнік далучыўся", - "User_left": "Карыстальнік выйшаў", - "We_are_not_online_right_now_please_leave_a_message": "Мы зараз не ў сеткі. Калі ласка, пакіньце паведамленне.", - "We_are_offline_Sorry_for_the_inconvenience": "Мы не ў сеткі. Прабачце за дастаўленыя нязручнасці.", - "Yes": "Да", - "You": "Вы", - "You_must_complete_all_fields": "Вам неабходна запоўніць усе палі" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/bg.i18n.json b/packages/rocketchat-livechat/.app/i18n/bg.i18n.json deleted file mode 100644 index d4ad4460933..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/bg.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Допълнителни обратни връзки", - "Appearance": "Външен вид", - "Are_you_sure_do_you_want_end_this_chat": "Сигурен ли си че искаш да прекратиш този чат?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Наистина ли искате да прекратите този разговор и да превключите отдела?", - "Cancel": "Отказ", - "Change": "Промени", - "Chat_ended": "Край на чата", - "Choose_a_new_department": "Изберете нов отдел", - "Close_menu": "Затваряне на менюто", - "Conversation_finished": "Разговорът завърши", - "End_chat": "Край на чата", - "How_friendly_was_the_chat_agent": "Колко приятелски беше чат агентът?", - "How_knowledgeable_was_the_chat_agent": "Колко интелигентен е агентът за чат?", - "How_responsive_was_the_chat_agent": "Колко чувствителен беше чат агентът?", - "How_satisfied_were_you_with_this_chat": "Колко сте доволни от този разговор?", - "Installation": "Инсталация", - "New_messages": "Ново съобщение", - "No": "Не", - "Options": "Настроики", - "Please_answer_survey": "Моля, отделете малко време, за да отговорите на кратко проучване за този разговор", - "Please_choose_a_department": "Моля, изберете отдела", - "Please_fill_name_and_email": "Моля попълнете име и електрона поща", - "Powered_by": "Осъществено от", - "Request_video_chat": "Заявка за видео чат", - "Select_a_department": "Изберете отдел", - "Switch_department": "Превключете отдела", - "Department_switched": "Отделът е включен", - "Send": "Изпрати", - "Skip": "Прескочи", - "Start_Chat": "Започни Чат", - "Survey": "Изследване", - "Survey_instructions": "Оценявайте всеки въпрос според вашето удовлетворение, 1 което означава, че сте напълно неудовлетворени и 5, което означава, че сте напълно доволни.", - "Thank_you_for_your_feedback": "Благодарим Ви за обратната връзка", - "Thanks_We_ll_get_back_to_you_soon": "Благодаря! Ще се свържем скоро с вас.", - "transcript_sent": "Преписът е изпратен", - "Type_your_email": "Въведете имейла си", - "Type_your_message": "Въведете съобщението си", - "Type_your_name": "Въведете името си", - "Upload_file_question": "Качи фаил?", - "User_joined": "Потребителят се присъедини", - "User_left": "Потребителят остана", - "We_are_not_online_right_now_please_leave_a_message": "В момента не сме онлайн. Моля, оставете съобщение.", - "We_are_offline_Sorry_for_the_inconvenience": "Ние не сме на линия. Съжалявам за неудобството.", - "Yes": "Да", - "You": "Ти", - "You_must_complete_all_fields": "Трябва да попълните всички полета" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/bs.i18n.json b/packages/rocketchat-livechat/.app/i18n/bs.i18n.json deleted file mode 100644 index 6971b3b9087..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/bs.i18n.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "Additional_Feedback": "Dodatne povratne informacije", - "Appearance": "Izgled", - "Are_you_sure_do_you_want_switch_the_department": "Jeste li sigurni da želite prebaciti odjel?", - "Cancel": "Otkaži", - "How_friendly_was_the_chat_agent": "Koliko ugodan je bio agent?", - "How_knowledgeable_was_the_chat_agent": "Koliko upućen je bio agent?", - "How_responsive_was_the_chat_agent": "Koliko brzo je odgovarao?", - "How_satisfied_were_you_with_this_chat": "Koliko ste zadovoljni ovim razgovorom?", - "Installation": "Instalacija", - "New_messages": "Nove Poruke", - "Options": "Opcije", - "Please_answer_survey": "Odvojite trenutak kako bi odgovorili na anketu o ovom razgovoru", - "Please_fill_name_and_email": "Molimo Vas da ispunite ime i e-mail", - "Select_a_department": "Odaberite odjel", - "Send": "Pošalji", - "Skip": "Preskoči", - "Start_Chat": "Početak Razgovora", - "Survey": "Anketa", - "Survey_instructions": "Ocijenite svako pitanje u skladu s Vašim zadovoljstvom, 1 znači da ste potpuno nezadovoljni i 5 znači da ste u potpunosti zadovoljni.", - "Thank_you_for_your_feedback": "Hvala vam na povratnim informacijama", - "Type_your_email": "Upišite Vaš e-mail", - "Type_your_message": "Upišite svoju poruku", - "Type_your_name": "Upišite svoje ime", - "Upload_file_question": "Prenesi datoteku?", - "We_are_offline_Sorry_for_the_inconvenience": "Mi smo izvan mreže. Oprostite na neugodnosti.", - "Yes": "Da", - "You": "Vi" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ca.i18n.json b/packages/rocketchat-livechat/.app/i18n/ca.i18n.json deleted file mode 100644 index fdfc569e632..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ca.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Comentaris addicionals", - "Appearance": "Aparença", - "Are_you_sure_do_you_want_end_this_chat": "Segur que voleu finalitzar aquest xat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Esteu segurs de finalitzar aquest xat i canviar de departament?", - "Are_you_sure_do_you_want_switch_the_department": "Segur que voleu canviar de departament?", - "Cancel": "Cancel·la", - "Change": "Canvia", - "Chat_ended": "Xat finalitzat!", - "Connecting_to_an_Agent": "Connectant amb un agent", - "Choose_a_new_department": "Tria un nou departament", - "Close_menu": "Tanca el menú", - "Conversation_finished": "Conversa acabada", - "End_chat": "Finalitza xat", - "How_friendly_was_the_chat_agent": "Ha sigut amable l'interlocutor?", - "How_knowledgeable_was_the_chat_agent": "Era un bon expert, en sabia?", - "How_responsive_was_the_chat_agent": "Heu rebut respostes ràpides?", - "How_satisfied_were_you_with_this_chat": "Ha quedat satisfet amb aquesta conversa?", - "Installation": "Instal·lació", - "New_messages": "Nous missatges", - "New_livechat_in_queue": "Nou xat a la cua", - "No": "No", - "Options": "Opcions", - "Please_answer_survey": "Si us plau, permeti'ns un moment per a una breu enquesta sobre aquest xat", - "Please_choose_a_department": "Si us plau, tria un departament", - "Please_fill_name_and_email": "Si us plau, omple el nom i l'adreça electrònica.", - "Please_wait_for_the_next_available_agent": "Si us plau, espereu el següent agent disponible.", - "Powered_by": "Funciona amb", - "Request_video_chat": "Demana vídeo xat", - "Select_a_department": "Selecciona un departament", - "Switch_department": "Canvia departament", - "Department_switched": "Departament canviat", - "Send": "Envia", - "Skip": "Salta", - "Start_Chat": "Inicia xat", - "Survey": "Enquesta", - "Survey_instructions": "Valoreu cada pregunta d'acord al nivell de satisfacció, sent 1 completament insatisfet i 5 completament satisfet.", - "Thank_you_for_your_feedback": "Gràcies per la teva col·laboració", - "Thanks_We_ll_get_back_to_you_soon": "Gràcies! Aviat ens posarem en contacte.", - "transcript_sent": "Transcripció enviada", - "Type_your_email": "Escriu la teva adreça de correu-e", - "Type_your_message": "Escriu el missatge", - "Type_your_name": "Escriu el teu nom", - "Upload_file_question": "Pujar l'arxiu?", - "User_joined": "usuari unit", - "User_left": "L'usuari ha abandonat la sala", - "We_are_not_online_right_now_please_leave_a_message": "No estem en línia ara mateix. Sisplau, deixa un missatge.", - "We_are_offline_Sorry_for_the_inconvenience": "Estem desconnectats. Disculpi les molèsties.", - "Yes": "Sí", - "You": "Tu", - "You_must_complete_all_fields": "Cal omplir tots els camps" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/cs.i18n.json b/packages/rocketchat-livechat/.app/i18n/cs.i18n.json deleted file mode 100644 index e04f9e9ce2d..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/cs.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Dodatečný Feedback", - "Appearance": "Vzhled", - "Are_you_sure_do_you_want_end_this_chat": "Opravdu chcete ukončit tuto konverzaci?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Opravdu ukončit tento chat a změnit oddělení?", - "Are_you_sure_do_you_want_switch_the_department": "Chcete změnit oddělení", - "Cancel": "Storno", - "Change": "Změnit", - "Chat_ended": "Konverzace ukončena!", - "Connecting_to_an_Agent": "Spojování s operátorem", - "Choose_a_new_department": "Vyberte nové oddělení", - "Close_menu": "Zavřít menu", - "Conversation_finished": "Konverzace ukončena", - "End_chat": "Ukončit konverzaci", - "How_friendly_was_the_chat_agent": "Byl operátor milý?", - "How_knowledgeable_was_the_chat_agent": "Věděl operátor jak vám pomoci?", - "How_responsive_was_the_chat_agent": "Odpovídal operátor rychle?", - "How_satisfied_were_you_with_this_chat": "Jak jste byli celkově spokojeni?", - "Installation": "Instalace", - "New_messages": "Nové zprávy", - "New_livechat_in_queue": "Nová konverzace ve frontě", - "No": "Ne", - "Options": "Volby", - "Please_answer_survey": "Věnujte nám prosím chvilku svého času na ohodnocení chatu.", - "Please_choose_a_department": "Prosím vyberte oddělení", - "Please_fill_name_and_email": "Prosím vyplňte jméno a e-mail", - "Please_wait_for_the_next_available_agent": "Počkejte prosím na dalšího dostupného operátora", - "Powered_by": "Používá technologii", - "Request_video_chat": "Zažádat o video chat", - "Select_a_department": "Vyberte oddělení", - "Switch_department": "Změnit oddělení", - "Department_switched": "Oddělení změněno", - "Send": "Poslat", - "Skip": "Přeskočit", - "Start_Chat": "Spustit chat", - "Survey": "Průzkum", - "Survey_instructions": "Hodnoťte každou otázku dle vaší spokojenosti, 1 - zcela NEspokojeni a 5 - zcela spokojeni.", - "Thank_you_for_your_feedback": "Děkujeme Vám za Vaše hodnocení", - "Thanks_We_ll_get_back_to_you_soon": "Díky! Odpovíme Vám co nejdříve.", - "transcript_sent": "Kopie konverzace odeslána", - "Type_your_email": "Zadejte svůj e-mail", - "Type_your_message": "Napište zprávu", - "Type_your_name": "Zadejte své jméno", - "Upload_file_question": "Nahrát soubor?", - "User_joined": "Uživatel se připojil", - "User_left": "Uživatel odešel", - "We_are_not_online_right_now_please_leave_a_message": "Zrovna nejsme online. Zanechte nám prosím zprávu.", - "We_are_offline_Sorry_for_the_inconvenience": "Jsme offline. Omluváme se za nepříjemnosti.", - "Yes": "Ano", - "You": "Vy", - "You_must_complete_all_fields": "Je potřeba vyplnit všechna pole" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/cy.i18n.json b/packages/rocketchat-livechat/.app/i18n/cy.i18n.json deleted file mode 100644 index 8bfb2ceae8d..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/cy.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Adborth Ychwanegol", - "Appearance": "Ymddangosiad", - "Are_you_sure_do_you_want_end_this_chat": "Ydych chi'n siŵr eich bod am roi'r gorau i'r sgwrs hon?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ydych chi'n siŵr eich bod am roi'r gorau i'r sgwrs hon a newid adran?", - "Cancel": "Diddymu", - "Change": "Newid", - "Chat_ended": "Daeth sgwrs i ben!", - "Choose_a_new_department": "Dewiswch adran newydd", - "Close_menu": "Dewislen agos", - "Conversation_finished": "Mae'r sgwrs wedi gorffen", - "End_chat": "Cam sgwrsio", - "How_friendly_was_the_chat_agent": "Pa mor gyfeillgar oedd yr asiant sgwrsio?", - "How_knowledgeable_was_the_chat_agent": "Pa mor wybodus oedd yr asiant sgwrsio?", - "How_responsive_was_the_chat_agent": "Pa mor ymatebol oedd yr asiant sgwrsio?", - "How_satisfied_were_you_with_this_chat": "Pa mor fodlon oeddech chi â'r sgwrs hon?", - "Installation": "Gosod", - "New_messages": "Negeseuon newydd", - "No": "Na", - "Options": "Dewisiadau", - "Please_answer_survey": "Cymerwch foment i ateb arolwg cyflym am y sgwrs hon", - "Please_choose_a_department": "Dewiswch adran", - "Please_fill_name_and_email": "Llenwch enw ac e-bost", - "Powered_by": "Wedi ei bweru gan", - "Request_video_chat": "Gwneud cais am sgwrs fideo", - "Select_a_department": "Dewiswch adran", - "Switch_department": "Newid adran", - "Department_switched": "Adran wedi newid", - "Send": "Anfon", - "Skip": "Skip", - "Start_Chat": "Dechrau Sgwrs", - "Survey": "Arolwg", - "Survey_instructions": "Cyfraddwch bob cwestiwn yn ôl eich boddhad, 1 sy'n golygu eich bod chi'n gwbl anfodlon a 5 yn golygu eich bod chi'n gwbl fodlon.", - "Thank_you_for_your_feedback": "Diolch i chi am eich adborth", - "Thanks_We_ll_get_back_to_you_soon": "Diolch! Byddwn yn dychwelyd atoch yn fuan.", - "transcript_sent": "Trawsgrifiad wedi'i anfon", - "Type_your_email": "Teipiwch eich e-bost", - "Type_your_message": "Teipiwch eich neges", - "Type_your_name": "Teipiwch eich enw", - "Upload_file_question": "Llwytho ffeil?", - "User_joined": "Ymunodd y defnyddiwr", - "User_left": "Defnyddiwr ar ôl", - "We_are_not_online_right_now_please_leave_a_message": "Nid ydym ar-lein ar hyn o bryd. Os gwelwch yn dda, gadewch neges.", - "We_are_offline_Sorry_for_the_inconvenience": "Rydym ni allan. Mae'n ddrwg gennym am yr anghyfleustra.", - "Yes": "Ydw", - "You": "Chi", - "You_must_complete_all_fields": "Rhaid i chi gwblhau pob maes" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/da.i18n.json b/packages/rocketchat-livechat/.app/i18n/da.i18n.json deleted file mode 100644 index 4cfa35bb25a..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/da.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "Yderligere feedback", - "Appearance": "Udseende", - "Are_you_sure_do_you_want_end_this_chat": "Er du sikker på, at du vil afslutte denne chat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Er du sikker på, at du vil afslutte denne chat og skifte afdeling?", - "Are_you_sure_do_you_want_switch_the_department": "Er du sikker på, at du vil skifte afdeling?", - "Cancel": "Annuller", - "Change": "Skift", - "Chat_ended": "Chat afsluttet!", - "Connecting_to_an_Agent": "Forbindelse til en agent", - "Choose_a_new_department": "Vælg en ny afdeling", - "Close_menu": "Luk menuen", - "Conversation_finished": "Samtalen er slut", - "End_chat": "Afslut chat", - "How_friendly_was_the_chat_agent": "Hvor venlig var chatagenten?", - "How_knowledgeable_was_the_chat_agent": "Hvor vidende var chatagenten?", - "How_responsive_was_the_chat_agent": "Hvor lydhør var chatagenten?", - "How_satisfied_were_you_with_this_chat": "Hvor tilfreds var du med denne chat?", - "Installation": "Installation", - "New_messages": "Nye beskeder", - "New_livechat_in_queue": "Ny chat i kø", - "No": "Nej", - "Options": "Indstillinger", - "Please_answer_survey": "Brug et øjeblik på at besvare et spørgeskema om denne chat", - "Please_choose_a_department": "Vælg venligst en afdeling", - "Please_fill_name_and_email": "Udfyld venligst navn og e-mail", - "Powered_by": "Drevet af", - "Request_video_chat": "Anmod om videochat", - "Select_a_department": "Vælg en afdeling", - "Switch_department": "Skift afdeling", - "Department_switched": "Du har skiftet afdeling", - "Send": "Send", - "Skip": "Spring over", - "Start_Chat": "Start chat", - "Survey": "Spørgeskema", - "Survey_instructions": "Vurder hvert spørgsmål efter din tilfredshed: 1 betyder, at du er helt utilfreds, og 5 betyder, at du er helt tilfreds.", - "Thank_you_for_your_feedback": "Tak for din feedback", - "Thanks_We_ll_get_back_to_you_soon": "Tak! Vi vender snart tilbage.", - "transcript_sent": "Transskription sendt", - "Type_your_email": "Indtast din e-mail", - "Type_your_message": "Skriv din besked", - "Type_your_name": "Indtast dit navn", - "Upload_file_question": "Upload fil?", - "User_joined": "Brugeren sluttede sig til", - "User_left": "Brugeren tog sin afsked", - "We_are_not_online_right_now_please_leave_a_message": "Vi er ikke online lige nu. Efterlad en besked til os.", - "We_are_offline_Sorry_for_the_inconvenience": "Vi er offline. Beklager ulejligheden.", - "Yes": "Ja", - "You": "Du", - "You_must_complete_all_fields": "Du skal udfylde alle felter" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json b/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json deleted file mode 100644 index 52da088cd01..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "Additional_Feedback": "Zusätzliches Feedback", - "Appearance": "Erscheinungsbild", - "Are_you_sure_do_you_want_end_this_chat": "Sind Sie sich sicher diesen Chat zu beenden?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Möchtest du diesen Chat wirklich beenden und die Abteilung wechseln?", - "Cancel": "Abbrechen", - "Change": "Veränderung", - "Chat_ended": "Chat beendet!", - "Connecting_to_an_Agent": "Verbinde mit einem Berater/in", - "Choose_a_new_department": "Wählen Sie eine neue Abteilung", - "Close_menu": "Menü schließen", - "Conversation_finished": "Gespräch beendet", - "End_chat": "Chat beenden", - "How_friendly_was_the_chat_agent": "Wie freundlich war der/die Berater/in?", - "How_knowledgeable_was_the_chat_agent": "Wie sachkundig war der Chat-Berater?", - "How_responsive_was_the_chat_agent": "Wie reaktionsschnell war der Chat-Agent?", - "How_satisfied_were_you_with_this_chat": "Wie zufrieden sind Sie mit diesem Gespräch?", - "Installation": "Installation", - "New_messages": "Neue Nachrichten", - "No": "Nein", - "Options": "Optionen", - "Please_answer_survey": "Bitte nehmen Sie sich einen Moment Zeit, um kurz einige Fragen zu dem Gespräch zu beantworten.", - "Please_choose_a_department": "Bitte wählen Sie eine Abteilung", - "Please_fill_name_and_email": "Bitte geben Sie einen Namen und eine E-Mail-Adresse ein.", - "Please_wait_for_the_next_available_agent": "Bitte warten bis eine Beratung frei wird", - "Powered_by": "Unterstützt von", - "Request_video_chat": "Video Chat anfragen", - "Select_a_department": "Abteilung auswählen", - "Switch_department": "Abteilung wechseln", - "Department_switched": "Abteilung gewechselt", - "Send": "Senden", - "Skip": "Überspringen", - "Start_Chat": "Chat beginnen", - "Survey": "Umfrage", - "Survey_instructions": "Bewerten Sie jede Frage nach Ihrer Zufriedenheit. 1 bedeutet, dass Sie völlig unzufrieden sind und 5 bedeutet, dass Sie vollständig zufrieden sind.", - "Thank_you_for_your_feedback": "Vielen Dank für Ihre Rückmeldung.", - "Thanks_We_ll_get_back_to_you_soon": "Vielen Dank! Wir kommen auf Sie zeitnah zurück.", - "transcript_sent": "Transkript versendet", - "Type_your_email": "Geben Sie Ihre E-Mail-Adresse an", - "Type_your_message": "Geben Sie Ihre Nachricht ein.", - "Type_your_name": "Geben Sie Ihren Namen ein", - "Upload_file_question": "Möchten Sie eine Datei hochladen?", - "User_joined": "Benutzer.in wurde Mitglied", - "User_left": "Benutzer.in abgemeldet", - "We_are_not_online_right_now_please_leave_a_message": "Wir sind momentan nicht online. Bitte hinterlassen Sie eine Nachricht.", - "We_are_offline_Sorry_for_the_inconvenience": "Wir sind offline. Entschuldigen Sie die Unannehmlichkeiten.", - "Yes": "Ja", - "You": "Sie", - "You_must_complete_all_fields": "Sie müssen alle Felder ausfüllen" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/de.i18n.json b/packages/rocketchat-livechat/.app/i18n/de.i18n.json deleted file mode 100644 index 81a1034d9c9..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/de.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Zusätzliches Feedback", - "Appearance": "Erscheinungsbild", - "Are_you_sure_do_you_want_end_this_chat": "Sind Sie sich sicher, dass Sie diesen Chat beenden wollen?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Sind Sie sich sicher, dass Sie diesen Chat beenden und die Abteilung wechseln wollen?", - "Are_you_sure_do_you_want_switch_the_department": "Sind Sie sich sicher, das Sie die Abteilung wechseln möchten?", - "Cancel": "Abbrechen", - "Change": "Ändern", - "Chat_ended": "Chat beendet!", - "Connecting_to_an_Agent": "Verbinde mit einem Berater/in", - "Choose_a_new_department": "Wählen Sie eine neue Abteilung aus", - "Close_menu": "Menü schließen", - "Conversation_finished": "Gespräch beendet", - "End_chat": "Chat beenden", - "How_friendly_was_the_chat_agent": "Wie freundlich war der/die Berater/in?", - "How_knowledgeable_was_the_chat_agent": "Wie sachkundig war der Chat-Berater?", - "How_responsive_was_the_chat_agent": "Wie reaktionsschnell war der Chat-Agent?", - "How_satisfied_were_you_with_this_chat": "Wie zufrieden sind Sie mit diesem Gespräch?", - "Installation": "Installation", - "New_messages": "Neue Nachrichten", - "New_livechat_in_queue": "Neuer Chat in der Wartschlange", - "No": "Nein", - "Options": "Optionen", - "Please_answer_survey": "Bitte nehmen Sie sich einen Moment Zeit, um kurz einige Fragen zu dem Gespräch zu beantworten.", - "Please_choose_a_department": "Bitte wählen Sie eine Abteilung aus", - "Please_fill_name_and_email": "Bitte gib Sie Ihren Namen und Ihre E-Mail-Adresse ein", - "Please_wait_for_the_next_available_agent": "Bitte warten bis eine Beratung frei wird", - "Powered_by": "Angetrieben von", - "Request_video_chat": "Video-Chat anfragen", - "Select_a_department": "Abteilung auswählen", - "Switch_department": "Abteilung wechseln", - "Department_switched": "Abteilung wurde gewechselt", - "Send": "Senden", - "Skip": "Überspringen", - "Start_Chat": "Chat beginnen", - "Survey": "Umfrage", - "Survey_instructions": "Bewerte jede Frage: 1 bedeutet, \"total unzufrieden\", 5 \"vollständig zufrieden\".", - "Thank_you_for_your_feedback": "Vielen Dank für Ihre Rückmeldung", - "Thanks_We_ll_get_back_to_you_soon": "Vielen Dank! Wir kommen zeitnah auf Sie zurück.", - "transcript_sent": "Transkript versendet", - "Type_your_email": "Geben Sie Ihre E-Mail-Adresse an", - "Type_your_message": "Geben Sie Ihre Nachricht ein.", - "Type_your_name": "Geben Sie Ihren Namen ein", - "Upload_file_question": "Datei hochladen?", - "User_joined": "Benutzer.in ist dem Kanal beigetreten", - "User_left": "Benutzer.in hat den Kanal verlassen", - "We_are_not_online_right_now_please_leave_a_message": "Wir sind momentan nicht online. Bitte hinterlassen Sie eine Nachricht.", - "We_are_offline_Sorry_for_the_inconvenience": "Tut uns leid, aber wir sind offline.", - "Yes": "Ja", - "You": "Sie", - "You_must_complete_all_fields": "Sie müssen alle Felder ausfüllen" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/el.i18n.json b/packages/rocketchat-livechat/.app/i18n/el.i18n.json deleted file mode 100644 index 13b259526a9..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/el.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Πρόσθετα Σχόλια", - "Appearance": "Εμφάνιση", - "Are_you_sure_do_you_want_end_this_chat": "Είστε σίγουρος ότι θέλετε να τερματίσετε τη συνομιλία;", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Είστε σίγουρος ότι θέλετε να τερματίσετε τη συνομιλία και να αλλάξετε τμήμα;", - "Cancel": "Ακύρωση", - "Change": "Αλλαγή", - "Chat_ended": "Η συνομιλία τελείωσε!", - "Choose_a_new_department": "Διαλέξτε ένα νέο τμήμα", - "Close_menu": "Κλείσιμο μενού", - "Conversation_finished": "Η συνομιλία τελείωσε", - "End_chat": "Τερματισμός συνομιλίας", - "How_friendly_was_the_chat_agent": "Πόσο φιλικός ήταν ο εκπρόσωπος μας;", - "How_knowledgeable_was_the_chat_agent": "Πόσο γνώστης του θέματος ήταν ο εκπρόσωπος μας;", - "How_responsive_was_the_chat_agent": "Πόσο καλή ανταπόκριση είχε ο εκπρόσωπος μας;", - "How_satisfied_were_you_with_this_chat": "Πόσο ικανοποιημένοι μείνατε με αυτήν την συνομιλία;", - "Installation": "Εγκατάσταση", - "New_messages": "Νέα μηνύματα", - "No": "Όχι", - "Options": "Επιλογές", - "Please_answer_survey": "Αφιερώστε λίγο χρόνο για να απαντήσετε σε μια σύντομη έρευνα σχετικά με αυτή τη συνομιλία", - "Please_choose_a_department": "Παρακαλούμε επιλέξτε τμήμα", - "Please_fill_name_and_email": "Παρακαλούμε συμπληρώστε το όνομα και το e-mail σας", - "Powered_by": "Powered by", - "Request_video_chat": "Αίτηση συνομιλίας με βίντεο", - "Select_a_department": "Επιλέξτε ένα τμήμα", - "Switch_department": "Αλλαγή τμήματος", - "Department_switched": "Το τμήμα άλλαξε", - "Send": "Αποστολή", - "Skip": "Παράλειψη", - "Start_Chat": "Έναρξη συνομιλίας", - "Survey": "Έρευνα", - "Survey_instructions": "Βαθμολογήστε κάθε ερώτηση, σύμφωνα με την ικανοποίησή σας, 1 που σημαίνει ότι μείνατε δυσαρεστημένοι και 5 σημαίνει ότι είστε απόλυτα ικανοποιημένοι.", - "Thank_you_for_your_feedback": "Ευχαριστούμε για τα σχόλιά σας", - "Thanks_We_ll_get_back_to_you_soon": "Ευχαριστούμε! Θα επικοινωνήσουμε μαζί σας σύντομα.", - "transcript_sent": "Το αντίγραφο της συνομιλίας στάλθηκε", - "Type_your_email": "Πληκτρολογήστε το email σας", - "Type_your_message": "Πληκτρολογήστε το μήνυμά σας", - "Type_your_name": "Πληκτρολογήστε το όνομά σας", - "Upload_file_question": "Να ανέβει το αρχείο;", - "User_joined": "Ο χρήστης συνδέθηκε", - "User_left": "Ο χρήστης έφυγε", - "We_are_not_online_right_now_please_leave_a_message": "Δεν είμαστε συνδεδεμένοι αυτήν τη στιγμή. Παρακαλώ αφήστε μήνυμα.", - "We_are_offline_Sorry_for_the_inconvenience": "Είμαστε εκτός σύνδεσης. Συγγνώμη για την ταλαιπωρία.", - "Yes": "Ναι", - "You": "Εσύ", - "You_must_complete_all_fields": "Πρέπει να συμπληρώσετε όλα τα πεδία" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/en.i18n.json b/packages/rocketchat-livechat/.app/i18n/en.i18n.json deleted file mode 100644 index 9ed1e5e6683..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/en.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Additional Feedback", - "Appearance": "Appearance", - "Are_you_sure_do_you_want_end_this_chat": "Are you sure you want to end this chat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Are you sure you want to end this chat and switch department?", - "Are_you_sure_do_you_want_switch_the_department": "Are you sure you want to switch the department?", - "Cancel": "Cancel", - "Change": "Change", - "Chat_ended": "Chat ended!", - "Connecting_to_an_Agent": "Connecting to an Agent", - "Choose_a_new_department": "Choose a new department", - "Close_menu": "Close menu", - "Conversation_finished": "Conversation finished", - "End_chat": "End chat", - "How_friendly_was_the_chat_agent": "How friendly was the chat agent?", - "How_knowledgeable_was_the_chat_agent": "How knowledgeable was the chat agent?", - "How_responsive_was_the_chat_agent": "How responsive was the chat agent?", - "How_satisfied_were_you_with_this_chat": "How satisfied were you with this chat?", - "Installation": "Installation", - "New_messages": "New messages", - "New_livechat_in_queue": "New chat in queue", - "No": "No", - "Options": "Options", - "Please_answer_survey": "Please take a moment to answer a quick survey about this chat", - "Please_choose_a_department": "Please choose a department", - "Please_fill_name_and_email": "Please fill name and email", - "Please_wait_for_the_next_available_agent": "Please, wait for the next available agent.", - "Powered_by": "Powered by", - "Request_video_chat": "Request video chat", - "Select_a_department": "Select a department", - "Switch_department": "Switch department", - "Department_switched": "Department switched", - "Send": "Send", - "Skip": "Skip", - "Start_Chat": "Start Chat", - "Survey": "Survey", - "Survey_instructions": "Rate each question according to your satisfaction, 1 meaning you are completely unsatisfied and 5 meaning you are completely satisfied.", - "Thank_you_for_your_feedback": "Thank you for your feedback", - "Thanks_We_ll_get_back_to_you_soon": "Thanks! We'll get back to you soon.", - "transcript_sent": "Transcript sent", - "Type_your_email": "Type your email", - "Type_your_message": "Type your message", - "Type_your_name": "Type your name", - "Upload_file_question": "Upload file?", - "User_joined": "User joined", - "User_left": "User left", - "We_are_not_online_right_now_please_leave_a_message": "We are not online right now. Please, leave a message.", - "We_are_offline_Sorry_for_the_inconvenience": "We are offline. Sorry for the inconvenience.", - "Yes": "Yes", - "You": "You", - "You_must_complete_all_fields": "You must complete all fields" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/eo.i18n.json b/packages/rocketchat-livechat/.app/i18n/eo.i18n.json deleted file mode 100644 index e02e38e81b9..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/eo.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Kromaj Rimarkojn", - "Appearance": "Aspekto", - "Are_you_sure_do_you_want_end_this_chat": "Ĉu vi certas, ke vi volas fini ĉi tiun babilejon?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ĉu vi certas, ke vi volas fini ĉi tiun babilejon kaj ŝanĝi la fakon?", - "Cancel": "Nuligi", - "Change": "Ŝanĝi", - "Chat_ended": "Babilejo finiĝis!", - "Choose_a_new_department": "Elektu novan fakon", - "Close_menu": "Fermi menuon", - "Conversation_finished": "Konversacio finis", - "End_chat": "Fina babilejo", - "How_friendly_was_the_chat_agent": "Kiel amika estis la babila agento?", - "How_knowledgeable_was_the_chat_agent": "Kiel scivola estis la babila agento?", - "How_responsive_was_the_chat_agent": "Kiel respondema estis la babila agento?", - "How_satisfied_were_you_with_this_chat": "Kiel kontenta vi estis kun ĉi tiu babilejo?", - "Installation": "Instalado", - "New_messages": "Novaj mesaĝoj", - "No": "Ne", - "Options": "Opcioj", - "Please_answer_survey": "Bonvolu preni momenton por respondi rapidan enketon pri ĉi tiu babilejo", - "Please_choose_a_department": "Bonvolu elekti fakon", - "Please_fill_name_and_email": "Bonvolu plenigi nomon kaj retpoŝton", - "Powered_by": "Funkciigita de", - "Request_video_chat": "Petu video-babilejon", - "Select_a_department": "Elektu fakon", - "Switch_department": "Ŝalti fako", - "Department_switched": "Fako ŝaltis", - "Send": "Sendu", - "Skip": "Preterpasi", - "Start_Chat": "Komencu babilejon", - "Survey": "Enketo", - "Survey_instructions": "Taksi ĉiun demandon laŭ via kontentigo, 1 signifante, ke vi estas tute malkontenta kaj 5 signifas, ke vi estas tute kontenta.", - "Thank_you_for_your_feedback": "Dankon pro viaj sugestoj", - "Thanks_We_ll_get_back_to_you_soon": "Dankon! Ni revenos al vi baldaŭ.", - "transcript_sent": "Transskribo sendita", - "Type_your_email": "Tajpu vian retpoŝton", - "Type_your_message": "Tajpu vian mesaĝon", - "Type_your_name": "Tajpu vian nomon", - "Upload_file_question": "Alŝutu dosieron?", - "User_joined": "Uzanto aliĝis", - "User_left": "Uzanto maldekstre", - "We_are_not_online_right_now_please_leave_a_message": "Ni ne estas interrete nun. Bonvolu lasi mesaĝon.", - "We_are_offline_Sorry_for_the_inconvenience": "Ni estas eksterrete. Pardonu la malkomforton.", - "Yes": "Jes", - "You": "Vi", - "You_must_complete_all_fields": "Vi devas kompletigi ĉiujn kampojn" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/es.i18n.json b/packages/rocketchat-livechat/.app/i18n/es.i18n.json deleted file mode 100644 index 681ec3066a9..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/es.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Comentarios adicionales", - "Appearance": "Apariencia", - "Are_you_sure_do_you_want_end_this_chat": "¿Estás seguro de que quieres terminar este chat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "¿Estás seguro de que quieres terminar este chat y cambiar de departamento?", - "Are_you_sure_do_you_want_switch_the_department": "¿Está seguro que quiere cambiar el departamento?", - "Cancel": "Cancelar", - "Change": "Cambiar", - "Chat_ended": "Chat finalizado!", - "Connecting_to_an_Agent": "Conectando al Agente", - "Choose_a_new_department": "Selecciona un nuevo departamento", - "Close_menu": "Cerrar menú", - "Conversation_finished": "Conversación terminada", - "End_chat": "Finalizar chat", - "How_friendly_was_the_chat_agent": "¿Qué tan amigable fue el agente de chat?", - "How_knowledgeable_was_the_chat_agent": "¿Qué tan conocedor fue el agente de chat?", - "How_responsive_was_the_chat_agent": "¿Qué tan receptivo fue el agente de chat?", - "How_satisfied_were_you_with_this_chat": "¿Qué tan satisfecho estuviste con este chat?", - "Installation": "Instalación ", - "New_messages": "Nuevos mensajes", - "New_livechat_in_queue": "Nuevo chat en cola", - "No": "No", - "Options": "Opciones", - "Please_answer_survey": "Por favor, tómese un momento para responder una breve encuesta sobre este chat", - "Please_choose_a_department": "Por favor selecciona un departamento", - "Please_fill_name_and_email": "Por favor introduzca su nombre y correo electrónico.", - "Please_wait_for_the_next_available_agent": "Por favor, espera al siguiente agente disponible.", - "Powered_by": "Impulsado por", - "Request_video_chat": "Solicitar videochat", - "Select_a_department": "Seleccione un departamento", - "Switch_department": "Cambiar de departamento", - "Department_switched": "Departamento cambiado", - "Send": "Enviar", - "Skip": "Omitir", - "Start_Chat": "Iniciar chat", - "Survey": "Encuesta", - "Survey_instructions": "Califique cada pregunta de acuerdo a su nivel de satisfacción, 1 para completamente insatisfecho y 5 para completamente satisfecho.", - "Thank_you_for_your_feedback": "Gracias por sus comentarios", - "Thanks_We_ll_get_back_to_you_soon": "¡Gracias! Pronto nos pondremos en contacto con usted.", - "transcript_sent": "Transcripción enviada", - "Type_your_email": "Escriba su correo electrónico", - "Type_your_message": "Escriba su mensaje", - "Type_your_name": "Escriba su nombre", - "Upload_file_question": "Subir archivo?", - "User_joined": "Usuario unido", - "User_left": "El usuario ha abandonado la sala", - "We_are_not_online_right_now_please_leave_a_message": "No estamos en línea en este momento. Por favor, deje un mensaje.", - "We_are_offline_Sorry_for_the_inconvenience": "Estamos fuera de línea. Disculpe las molestias.", - "Yes": "Si", - "You": "Usted", - "You_must_complete_all_fields": "Debes completar todos los campos" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/et.i18n.json b/packages/rocketchat-livechat/.app/i18n/et.i18n.json deleted file mode 100644 index cda22a6b198..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/et.i18n.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "Additional_Feedback": "Täiendav tagasiside", - "Appearance": "Välimus", - "Are_you_sure_do_you_want_end_this_chat": "Oled sa kindel, et soovid vestlust lõpetada?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Oled sa kindel, et soovid lõpetada vestlust ja vahetada osakonda?", - "Are_you_sure_do_you_want_switch_the_department": "Oled sa kindel, et soovid osakonda vahetada?", - "Cancel": "Tühista", - "Change": "Muuda", - "Chat_ended": "Vestlus on lõppenud!", - "Choose_a_new_department": "Vali uus osakond", - "Close_menu": "Sulge menüü", - "Conversation_finished": "Vestlus on lõppenud", - "End_chat": "Lõpeta vestlus", - "How_friendly_was_the_chat_agent": "Kui sõbralik oli sinuga vestelnud agent?", - "How_knowledgeable_was_the_chat_agent": "Kui teadlik oli sinuga vestelnud agent? ", - "How_responsive_was_the_chat_agent": "Kui vastuvõtlik oli sinuga vestelnud agent? ", - "How_satisfied_were_you_with_this_chat": "Kui rahul olite selle vestlusega?", - "Installation": "Paigaldamine", - "New_messages": "Uued teated", - "New_livechat_in_queue": "Uus vestlus järjekorras", - "No": "Ei", - "Options": "Valikud", - "Please_answer_survey": "Palun võtke hetk, et vastata kiirele küsitlusele toimunud vestluse kohta", - "Please_choose_a_department": "Palun vali osakond", - "Please_fill_name_and_email": "Palun täitke nimi ja e-posti aadress", - "Powered_by": "Toetab", - "Request_video_chat": "Alusta videokõne", - "Select_a_department": "Valige osakond", - "Switch_department": "Vahetage osakonda", - "Department_switched": "Osakond vahetatud", - "Send": "Saada", - "Skip": "Jäta vahele", - "Start_Chat": "Alusta vestlust", - "Survey": "Uuring", - "Thank_you_for_your_feedback": "Aitäh tagasiside eest", - "Thanks_We_ll_get_back_to_you_soon": "Aitäh! Võtame sinuga peagi ühendust. ", - "transcript_sent": "Vestluse ajalugu saadetud", - "Type_your_email": "Sisesta oma e-mail", - "Type_your_message": "Sisestage oma sõnum", - "Type_your_name": "Sisestage oma nimi", - "Upload_file_question": "Faili üles laadima?", - "User_joined": "Kasutaja liitus", - "User_left": "Kasutaja lahkus" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/eu.i18n.json b/packages/rocketchat-livechat/.app/i18n/eu.i18n.json deleted file mode 100644 index d9acaccc9e4..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/eu.i18n.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Additional_Feedback": "Feedback osagarria", - "Appearance": "Itxura", - "Are_you_sure_do_you_want_end_this_chat": "Ziur zaude txat hau amaitu nahi duzula?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ziur zaude txat hau amaitu eta aldatu egin nahi duzula?", - "Are_you_sure_do_you_want_switch_the_department": "Ziur zaude saioa aldatu nahi duzula?", - "Cancel": "Ezeztatu", - "Change": "Aldatu", - "Chat_ended": "Txata amaitu da!", - "Choose_a_new_department": "Aukeratu sail berri bat", - "Close_menu": "Menua itxi", - "Conversation_finished": "Elkarrizketa amaitu da", - "End_chat": "Txata amaitu", - "How_satisfied_were_you_with_this_chat": "Zein pozik zeuden txat honekin?", - "Installation": "Instalazioa", - "New_messages": "Mezu berriak", - "New_livechat_in_queue": "Txat berria zain", - "No": "Ez", - "Options": "Aukerak", - "Please_fill_name_and_email": "Sartu izena eta posta elektronikoa mesedez", - "Powered_by": "Powered by", - "Send": "Bidali", - "Skip": "Saltatu", - "Start_Chat": "Hasi txata", - "Survey": "Inkesta", - "Thank_you_for_your_feedback": "Eskerrik asko zure iritziagatik", - "Thanks_We_ll_get_back_to_you_soon": "Eskerrik asko! Laster jarriko gara kontaktuan zurekin.", - "transcript_sent": "Transkripzioa bidali da", - "Type_your_message": "Idatzi mezua", - "Type_your_name": "Idatzi zure izena", - "Upload_file_question": "Fitxategia kargatu?", - "User_joined": "Erabiltzailea sartu da", - "User_left": "Erabiltzailea irten da", - "We_are_offline_Sorry_for_the_inconvenience": "Lineaz kanpo gaude. Barkatu eragozpenak.", - "Yes": "Bai" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/fa.i18n.json b/packages/rocketchat-livechat/.app/i18n/fa.i18n.json deleted file mode 100644 index a813e6c27ed..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/fa.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "بازخورد بیشتر", - "Appearance": "جلوه", - "Are_you_sure_do_you_want_end_this_chat": "آیا مطمئن هستید که می‌خواهید این چت را پایان دهید و بخش را عوض کنید؟", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "آیا مطمئن هستید که می‌خواهید این چت را پایان دهید و بخش را عوض کنید؟", - "Are_you_sure_do_you_want_switch_the_department": "ایا مطمئن هستید که میخواهید بخش را عوض کنید؟", - "Cancel": "لغو", - "Change": "تغییر", - "Chat_ended": "گفتگو پایان یافت!", - "Connecting_to_an_Agent": "در حال اتصال به یک کارگزار", - "Choose_a_new_department": "یک بخش جدید را انتخاب کنید", - "Close_menu": "بستن فهرست", - "Conversation_finished": "مکالمه به پایان رسید", - "End_chat": "پایان دادن گفت‌وگو", - "How_friendly_was_the_chat_agent": "گفت‌وگو کننده چقدر دوستانه برخورد کرد؟", - "How_knowledgeable_was_the_chat_agent": "مامور گفتگو تا چه حد مسلط و آگاه بود؟", - "How_responsive_was_the_chat_agent": "مامور گفتگو تا چه حد پاسخگو بود؟", - "How_satisfied_were_you_with_this_chat": "چقدر از این چت راضی بودید؟", - "Installation": "نصب و راه اندازی", - "New_messages": "پیام‌های جدید", - "New_livechat_in_queue": "چت جدید در صف", - "No": "خیر", - "Options": "گزینه‌ها", - "Please_answer_survey": "لطفا به نظرسنجی در مورد این چت پاسخ دهید", - "Please_choose_a_department": "لطفا یک بخش انتخاب کنید", - "Please_fill_name_and_email": "لطفا نام و ایمیل را وارد نمایید", - "Please_wait_for_the_next_available_agent": "لطفا برای کارگزار موجود بعدی صبر کنید.", - "Powered_by": "قدرت‌گرفته از", - "Request_video_chat": "درخواست گفت‌وگوی ویدیویی", - "Select_a_department": "یک بخش را انتخاب کنید", - "Switch_department": "تغییر بخش", - "Department_switched": "بخش تغییر کرد", - "Send": "ارسال", - "Skip": "رد کردن", - "Start_Chat": "شروع چت", - "Survey": "نظرسنجی", - "Survey_instructions": "به هر سوال بر اساس رضایتتان نمره دهید. ۱ به معنای عدم رضایت کامل و ۵ به معنای رضایت کامل است.", - "Thank_you_for_your_feedback": "تشکر به خاطر انعکاس نظرات", - "Thanks_We_ll_get_back_to_you_soon": "تشکر! به زودی باز خواهیم گشت.", - "transcript_sent": "رونوشت ارسال شد", - "Type_your_email": "ایمیل خود را وارد کنید", - "Type_your_message": "پیام خود را بنویسید", - "Type_your_name": "نام خود را وارد نمایید", - "Upload_file_question": "آپلود فایل؟", - "User_joined": "کابر عضو شد", - "User_left": "کاربر ترک کرد", - "We_are_not_online_right_now_please_leave_a_message": "ما در حال حاضر آنلاین نیستیم. لطفا پیام بگذارید", - "We_are_offline_Sorry_for_the_inconvenience": "متأسفانه در حال حاضر آفلاین هستیم.", - "Yes": "بله", - "You": "شما", - "You_must_complete_all_fields": "باید همه موارد را کامل کنید" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/fi.i18n.json b/packages/rocketchat-livechat/.app/i18n/fi.i18n.json deleted file mode 100644 index 03542ef281e..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/fi.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Lisäpalaute", - "Appearance": "Ulkoasu", - "Are_you_sure_do_you_want_end_this_chat": "Haluatko lopettaa tämän keskustelun?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Oletko varma että haluat lopettaa tämän keskustelun ja vaihtaa osastoa?", - "Cancel": "Peruuta", - "Change": "Muuta", - "Chat_ended": "Keskustelu lopetettu!", - "Choose_a_new_department": "Valitse uusi osasto", - "Close_menu": "Sulje valikko", - "Conversation_finished": "Keskustelu päättynyt", - "End_chat": "Lopeta keskustelu", - "How_friendly_was_the_chat_agent": "Kuinka ystävällinen asiakaspalvelija oli?", - "How_knowledgeable_was_the_chat_agent": "Miten osaava asiakaspalvelija oli?", - "How_responsive_was_the_chat_agent": "Miten palvelualtis asiakaspalvelija oli?", - "How_satisfied_were_you_with_this_chat": "Kuinka tyytyväinen olit tähän chattiin?", - "Installation": "Asennus", - "New_messages": "Uudet viestit", - "No": "Ei", - "Options": "Valinnat", - "Please_answer_survey": "Käytä hetki vastataksesi pikakyselyyn tästä chatista", - "Please_choose_a_department": "Ole hyvä ja valitse uusi osasto", - "Please_fill_name_and_email": "Täytä nimi ja sähköpostiosoite", - "Powered_by": "Palvelun tarjoaa", - "Request_video_chat": "Pyydä videochattia", - "Select_a_department": "Valitse osasto", - "Switch_department": "Vaihda osastoa", - "Department_switched": "Osasto vaihdettu", - "Send": "Lähetä", - "Skip": "Ohita", - "Start_Chat": "Aloita Chat", - "Survey": "Kysely", - "Survey_instructions": "Arvioi jokainen kysymys sen mukaan, miten tyytyväinen olet: 1 tarkoittaa että olet täysin tyytymätön ja 5 tarkoittaa että olet täysin tyytyväinen.", - "Thank_you_for_your_feedback": "Kiitos palautteestasi", - "Thanks_We_ll_get_back_to_you_soon": "Kiitos! Palaamme asiaan pian.", - "transcript_sent": "Lähetys lähetettiin", - "Type_your_email": "Kirjoita sähköpostiosoitteesi", - "Type_your_message": "Kirjoita viestisi", - "Type_your_name": "Kirjoita nimesi", - "Upload_file_question": "Lähetä tiedosto?", - "User_joined": "Käyttäjä liittyi", - "User_left": "Käyttäjä poistui", - "We_are_not_online_right_now_please_leave_a_message": "Emme ole verkossa juuri nyt. Jätä viesti.", - "We_are_offline_Sorry_for_the_inconvenience": "Palvelu on offline-tilassa. Pahoittelut häiriöstä.", - "Yes": "Kyllä", - "You": "Sinä", - "You_must_complete_all_fields": "Täytä kaikki kentät" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/fr.i18n.json b/packages/rocketchat-livechat/.app/i18n/fr.i18n.json deleted file mode 100644 index ebc230d69d7..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/fr.i18n.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Additional_Feedback": "Commentaires supplémentaires", - "Appearance": "Apparence", - "Are_you_sure_do_you_want_end_this_chat": "Êtes-vous sûr de vouloir mettre fin à cette conversation ?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Êtes-vous sûr de vouloir terminer cette conversion et changer de département ?", - "Are_you_sure_do_you_want_switch_the_department": "Êtes-vous sûr de vouloir changer de département ?", - "Cancel": "Annuler", - "Change": "Changer", - "Chat_ended": "Conversation terminée!", - "Choose_a_new_department": "Choisir un nouveau service", - "Close_menu": "Fermer le menu", - "Conversation_finished": "Conversation terminée", - "End_chat": "Mettre fin à la conversation", - "How_friendly_was_the_chat_agent": "Votre interlocuteur était-il sympathique ?", - "How_knowledgeable_was_the_chat_agent": "Les réponses de votre interlocuteur étaient-elles adaptées ?", - "How_responsive_was_the_chat_agent": "Votre interlocuteur a-t-il répondu à toutes vos questions ?", - "How_satisfied_were_you_with_this_chat": "Êtes-vous satisfait de cette conversation ?", - "Installation": "Installation", - "New_messages": "Nouveaux messages", - "No": "Non", - "Options": "Options", - "Please_answer_survey": "Merci de prendre un moment pour répondre à un sondage rapide à propos de cette conversation", - "Please_choose_a_department": "Merci de choisir un département", - "Please_fill_name_and_email": "Veuillez saisir votre nom et votre adresse e-mail", - "Powered_by": "Propulsé par", - "Request_video_chat": "Demander une conversation vidéo", - "Select_a_department": "Sélectionner un département", - "Switch_department": "Changer de département", - "Department_switched": "Changement de département effectué", - "Send": "Envoyer", - "Skip": "Passer", - "Start_Chat": "Démarrer une conversation", - "Survey": "Sondage", - "Survey_instructions": "Notez chaque question en fonction de votre satisfaction, 1 signifiant que vous êtes très insatisfait et 5 que vous êtes entièrement satisfait.", - "Thank_you_for_your_feedback": "Merci pour votre retour", - "Thanks_We_ll_get_back_to_you_soon": "Merci ! Nous regarderons cela dès que possible.", - "transcript_sent": "Transcription envoyée", - "Type_your_email": "Entrez votre e-mail", - "Type_your_message": "Entrez votre message", - "Type_your_name": "Entrez votre nom", - "Upload_file_question": "Envoyer le fichier ?", - "User_joined": "L'utilisateur a rejoint", - "User_left": "L'utilisateur est parti", - "We_are_not_online_right_now_please_leave_a_message": "Nous ne sommes pas en ligne en ce moment. Merci de laisser un message.", - "We_are_offline_Sorry_for_the_inconvenience": "Nous sommes hors-ligne. Désolé pour le désagrément.", - "Yes": "Oui", - "You": "Vous", - "You_must_complete_all_fields": "Vous devez remplir tous les champs" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/he.i18n.json b/packages/rocketchat-livechat/.app/i18n/he.i18n.json deleted file mode 100644 index 60422ed0b87..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/he.i18n.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "Additional_Feedback": "משוב נוסף", - "Appearance": "מראה", - "Are_you_sure_do_you_want_end_this_chat": "האם אתה בטוח שברצונך לסיים שיחה זו?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "האם אתה בטוח שברצונך לסיים שיחה זו ולהחליף מחלקה?", - "Are_you_sure_do_you_want_switch_the_department": "האם אתה בטוח שברצונך להחליף מחלקה?", - "Cancel": "ביטול", - "Change": "שינוי", - "Chat_ended": "השיחה הסתיימה", - "Choose_a_new_department": "בחר מחלקה חדשה", - "Close_menu": "סגור תפריט", - "Conversation_finished": "שיחת סיים", - "End_chat": "סיים שיחה", - "How_friendly_was_the_chat_agent": "כמה ידידותי היה סוכן הצ'אט?", - "How_knowledgeable_was_the_chat_agent": "כמה ידע היה לסוכן הצ'אט?", - "How_responsive_was_the_chat_agent": "מה הייתה מידת ההיענות של סוכן צ'אט?", - "How_satisfied_were_you_with_this_chat": "כמה מרוצים הייתם מהצ'אט הזה?", - "Installation": "התקנה", - "New_messages": "הודעות חדשות", - "No": "לא", - "Options": "אפשרויות", - "Please_answer_survey": "אנא הקדש מספר דקות כדי לענות על סקר קטן בנוגע לשיחה זו", - "Please_choose_a_department": "אנא בחר מחלקה", - "Please_fill_name_and_email": "אנא מלא שם וכתובת דוא\"ל", - "Powered_by": "מונע ע\"י", - "Select_a_department": "בחר מחלקה", - "Send": "שליחה", - "Skip": "לדלג", - "Start_Chat": "התחל צ'אט", - "Survey": "סקר", - "Survey_instructions": "דרג כל שאלה על פי לשביעות רצונך, כש -1 פירושו אתה לא מרוצה לחלוטין ו -5 כלומר אתה מרוצה לגמרי.", - "Thank_you_for_your_feedback": "תודה לך על המשוב", - "Thanks_We_ll_get_back_to_you_soon": "תודה! נחזור אליך בהקדם.", - "Type_your_email": "נא להקליד את כתובת הדוא״ל שלך", - "Type_your_message": "נא להקליד את ההודעה שלך", - "Type_your_name": "נא להקליד את שמך", - "Upload_file_question": "להעלות קובץ?", - "User_joined": "המשתמש הצטרף", - "User_left": "המשתמש עזב", - "We_are_offline_Sorry_for_the_inconvenience": "אנחנו במצב לא מקוון. מצטער על אי הנוחות.", - "You_must_complete_all_fields": "עליך למלא את כל השדות" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/hi-IN.i18n.json b/packages/rocketchat-livechat/.app/i18n/hi-IN.i18n.json deleted file mode 100644 index 913c22d2d0c..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/hi-IN.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "अतिरिक्त प्रतिक्रिया", - "Appearance": "दिखावट", - "Are_you_sure_do_you_want_end_this_chat": "क्या आप वाकई इस चैट को समाप्त करना चाहते हैं?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "क्या आप वाकई इस चैट को समाप्त और स्विच विभाग करना चाहते हैं?", - "Are_you_sure_do_you_want_switch_the_department": "क्या आप वाकई विभाग को स्विच करना चाहते हैं?", - "Cancel": "रद्द करे ", - "Change": "परिवर्तन", - "Chat_ended": "चैट समाप्त!", - "Connecting_to_an_Agent": "किसी एजेंट से जुड़ना", - "Choose_a_new_department": "एक नया विभाग चुनें", - "Close_menu": "मेनू बंद करें", - "Conversation_finished": "बातचीत समाप्त हुई", - "End_chat": "चैट समाप्त करें", - "How_friendly_was_the_chat_agent": "चैट एजेंट कितना अनुकूल था?", - "How_knowledgeable_was_the_chat_agent": "चैट एजेंट कितना जानकार था?", - "How_responsive_was_the_chat_agent": "चैट एजेंट कितना उत्तरदायी था?", - "How_satisfied_were_you_with_this_chat": "आप इस चैट से कितने संतुष्ट थे?", - "Installation": "स्थापना", - "New_messages": "नए संदेश", - "New_livechat_in_queue": "कतार में नई चैट", - "No": "नहीं", - "Options": "विकल्प", - "Please_answer_survey": "कृपया इस चैट के बारे में त्वरित सर्वेक्षण का उत्तर देने के लिए एक क्षण लें", - "Please_choose_a_department": "कृपया एक विभाग चुनें", - "Please_fill_name_and_email": "कृपया नाम और ईमेल भरें", - "Powered_by": "द्वारा संचालित", - "Request_video_chat": "वीडियो चैट का अनुरोध करें", - "Select_a_department": "एक विभाग का चयन करें", - "Switch_department": "स्विच विभाग", - "Department_switched": "विभाग बदल गया", - "Send": "भेजें", - "Skip": "छोड़ें", - "Start_Chat": "बातचीत शुरू करें", - "Survey": "सर्वेक्षण", - "Survey_instructions": "प्रत्येक प्रश्न को अपनी संतुष्टि के अनुसार रेट करें, 1 मतलब कि आप पूरी तरह से असंतुष्ट हैं और 5 का अर्थ है कि आप पूरी तरह से संतुष्ट हैं।", - "Thank_you_for_your_feedback": "आपकी प्रतिक्रिया के लिए आपका धन्यवाद", - "Thanks_We_ll_get_back_to_you_soon": "धन्यवाद! हम जल्द ही आपके पास वापस आएंगे।", - "transcript_sent": "प्रतिलेख भेजा गया", - "Type_your_email": "अपना ईमेल टाइप करें", - "Type_your_message": "अपना संदेश टाइप करें", - "Type_your_name": "अपना नाम लिखें", - "Upload_file_question": "दस्तावेज अपलोड करें?", - "User_joined": "उपयोगकर्ता शामिल हो गए", - "User_left": "उपयोगकर्ता छोड़ दिया", - "We_are_not_online_right_now_please_leave_a_message": "अभी हम ऑनलाइन नहीं हैं। कृपया एक संदेश छोड़ें।", - "We_are_offline_Sorry_for_the_inconvenience": "हम ऑफ़लाइन हैं। असुविधा के लिए खेद है।", - "Yes": "हाँ", - "You": "आप", - "You_must_complete_all_fields": "आपको सभी क्षेत्रों को पूरा करना होगा" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/hr.i18n.json b/packages/rocketchat-livechat/.app/i18n/hr.i18n.json deleted file mode 100644 index 9fd149d8547..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/hr.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "Dodatne povratne informacije", - "Appearance": "Izgled", - "Are_you_sure_do_you_want_end_this_chat": "Jeste li sigurni da želite završiti ovaj razgovor?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Jeste li sigurni da želite prekinuti taj chat i promijeniti odjel?", - "Are_you_sure_do_you_want_switch_the_department": "Jeste li sigurni da želite promijeniti odjel?", - "Cancel": "Otkaži", - "Change": "Promijeniti", - "Chat_ended": "Razgovor je završen!", - "Connecting_to_an_Agent": "Povezivanje s agentom", - "Choose_a_new_department": "Odaberite novi odjel", - "Close_menu": "Zatvori izbornik", - "Conversation_finished": "Razgovor je završio", - "End_chat": "Završi razgovor", - "How_friendly_was_the_chat_agent": "Koliko je ugodan bio chat agent?", - "How_knowledgeable_was_the_chat_agent": "Koliko je bio sposoban chat agent?", - "How_responsive_was_the_chat_agent": "Koliko brzo je odgovarao chat agent?", - "How_satisfied_were_you_with_this_chat": "Koliko ste zadovoljni ovim chatom?", - "Installation": "Instalacija", - "New_messages": "Nove poruke", - "New_livechat_in_queue": "Novi razgovor u redu čekanja", - "No": "Ne", - "Options": "Opcije", - "Please_answer_survey": "Odvojite trenutak kako bi odgovorili na anketu o ovom chatu", - "Please_choose_a_department": "Odaberite odjel", - "Please_fill_name_and_email": "Molimo Vas da ispunite ime i e-mail", - "Powered_by": "Pokreće", - "Request_video_chat": "Zatraži video razgovor", - "Select_a_department": "Odaberite odjel", - "Switch_department": "Zamijenite odjel", - "Department_switched": "Odjel je promijenjen", - "Send": "Pošalji", - "Skip": "Preskoči", - "Start_Chat": "Započni razgovor", - "Survey": "Anketa", - "Survey_instructions": "Ocijenite svako pitanje u skladu s Vašim zadovoljstvom, 1 znači da su potpuno nezadovoljni i 5 znači da su u potpunosti zadovoljni.", - "Thank_you_for_your_feedback": "Hvala vam na povratnim informacijama", - "Thanks_We_ll_get_back_to_you_soon": "Hvala! Javit ćemo vam se uskoro.", - "transcript_sent": "Prijepis poslan", - "Type_your_email": "Upišite Vaš e-mail", - "Type_your_message": "Upišite svoju poruku", - "Type_your_name": "Upišite svoje ime", - "Upload_file_question": "Prenesi datoteku?", - "User_joined": "Korisnik se pridružio", - "User_left": "Korisnik napustio razgovor", - "We_are_not_online_right_now_please_leave_a_message": "Trenutačno nismo na mreži. Molim vas ostavite poruku.", - "We_are_offline_Sorry_for_the_inconvenience": "Mi smo izvan mreže. Oprostite na neugodnosti.", - "Yes": "Da", - "You": "Vi", - "You_must_complete_all_fields": "Morate ispuniti sva polja" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/hu.i18n.json b/packages/rocketchat-livechat/.app/i18n/hu.i18n.json deleted file mode 100644 index 80f29fef492..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/hu.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "További visszajelzés", - "Appearance": "Megjelenés", - "Are_you_sure_do_you_want_end_this_chat": "Biztosan befejezed a beszélgetést?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Biztosan befejezed ezt a csevegést és elhagyod a részleget?", - "Are_you_sure_do_you_want_switch_the_department": "Biztos, hogy részleget váltasz?", - "Cancel": "Mégse", - "Change": "Módosítás", - "Chat_ended": "A beszélgetés befejeződött!", - "Connecting_to_an_Agent": "Kapcsolódás egy operátorhoz", - "Choose_a_new_department": "Válassz új részleget", - "Close_menu": "Menü bezárása", - "Conversation_finished": "A beszélgetés befejeződött", - "End_chat": "Beszélgetés befejezése", - "How_friendly_was_the_chat_agent": "Mennyire volt barátságos az operátor?", - "How_knowledgeable_was_the_chat_agent": "Mennyire volt felkészült az operátor?", - "How_responsive_was_the_chat_agent": "Mennyire volt készséges az operátor?", - "How_satisfied_were_you_with_this_chat": "Mennyire volt elégedett ezzel a beszélgetéssel?", - "Installation": "Telepítés", - "New_messages": "Új üzenetek", - "New_livechat_in_queue": "Új sorban álló beszélgetés", - "No": "Nem", - "Options": "Beállítások", - "Please_answer_survey": "Kérjük, értékelje a beszélgetést", - "Please_choose_a_department": "Kérjük, válasszon részleget", - "Please_fill_name_and_email": "Kérjük töltse ki a nevét és e-mail címét", - "Please_wait_for_the_next_available_agent": "Kérjük várj a következő elérhető operátorra.", - "Powered_by": "Powered by", - "Request_video_chat": "Videó beszélgetés indítása", - "Select_a_department": "Válasszon részleget", - "Switch_department": "Részleg váltása", - "Department_switched": "Részleg lecserélve", - "Send": "Küldés", - "Skip": "Kihagyás", - "Start_Chat": "Beszélgetés indítása", - "Survey": "Felmérés", - "Survey_instructions": "Értékelje a kérdéseket elégedettségétől függően. (1: teljesen elégedetlen, 5: teljesen elégedett)", - "Thank_you_for_your_feedback": "Köszönjük visszajelzését", - "Thanks_We_ll_get_back_to_you_soon": "Köszönjük! Hamarosan jelentkezünk.", - "transcript_sent": "Másolat elküldve", - "Type_your_email": "Írja be e-mail címét", - "Type_your_message": "Írja be az üzenetet", - "Type_your_name": "Írja be a nevét", - "Upload_file_question": "Fájl feltöltés?", - "User_joined": "Felhasználó csatlakozott", - "User_left": "Felhasználó kilépett", - "We_are_not_online_right_now_please_leave_a_message": "Jelenleg nem vagyunk online. Kérlek hagyj üzenetet.", - "We_are_offline_Sorry_for_the_inconvenience": "Elnézést a kellemetlenségért, jelenleg nem vagyunk elérhetőek.", - "Yes": "Igen", - "You": "Te", - "You_must_complete_all_fields": "Kérjük töltse ki az összes mezőt" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/id.i18n.json b/packages/rocketchat-livechat/.app/i18n/id.i18n.json deleted file mode 100644 index bdebbef9e33..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/id.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "tambahan Masukan", - "Appearance": "Penampilan", - "Are_you_sure_do_you_want_end_this_chat": "Yakin ingin mengakhiri obrolan ini?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Yakin ingin mengakhiri obrolan dan beralih jurusan ini?", - "Cancel": "Membatalkan", - "Change": "Perubahan", - "Chat_ended": "Chat berakhir!", - "Choose_a_new_department": "Pilih departemen baru", - "Close_menu": "Tutup menu", - "Conversation_finished": "percakapan selesai", - "End_chat": "Akhiri Obrolan", - "How_friendly_was_the_chat_agent": "Bagaimana ramah adalah agen chatting?", - "How_knowledgeable_was_the_chat_agent": "Bagaimana pengetahuan adalah agen chatting?", - "How_responsive_was_the_chat_agent": "Bagaimana responsif adalah agen chatting?", - "How_satisfied_were_you_with_this_chat": "Seberapa puaskah Anda dengan chatting ini?", - "Installation": "Instalasi", - "New_messages": "pesan baru", - "No": "Tidak", - "Options": "Pilihan", - "Please_answer_survey": "Silakan luangkan waktu untuk menjawab survei cepat tentang chat ini", - "Please_choose_a_department": "Silakan pilih departemen", - "Please_fill_name_and_email": "Silahkan isi nama dan email", - "Powered_by": "Dipersembahkan oleh", - "Request_video_chat": "Meminta obrolan video", - "Select_a_department": "Pilih departemen", - "Switch_department": "Beralih departemen", - "Department_switched": "Departemen beralih", - "Send": "Kirim", - "Skip": "Melewatkan", - "Start_Chat": "Memulai obrolan", - "Survey": "penelitian", - "Survey_instructions": "Menilai setiap pertanyaan sesuai dengan kepuasan Anda, 1 berarti Anda benar-benar puas dan 5 berarti Anda benar-benar puas.", - "Thank_you_for_your_feedback": "Terima kasih atas tanggapan Anda", - "Thanks_We_ll_get_back_to_you_soon": "Terima kasih! Kami akan kembali kepada Anda segera.", - "transcript_sent": "Transkrip dikirim", - "Type_your_email": "Ketik email Anda", - "Type_your_message": "Ketik pesan Anda", - "Type_your_name": "Ketik nama Anda", - "Upload_file_question": "Unggah file?", - "User_joined": "pengguna bergabung", - "User_left": "kiri pengguna", - "We_are_not_online_right_now_please_leave_a_message": "Kami sedang tidak online sekarang. Tolong, tinggalkan pesan.", - "We_are_offline_Sorry_for_the_inconvenience": "Kami sedang offline. Maaf untuk ketidaknyamanannya.", - "Yes": "iya nih", - "You": "Kamu", - "You_must_complete_all_fields": "Anda harus menyelesaikan semua bidang" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/it.i18n.json b/packages/rocketchat-livechat/.app/i18n/it.i18n.json deleted file mode 100644 index cacf1fe7ab3..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/it.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "Ulteriore feedback", - "Appearance": "Aspetto", - "Are_you_sure_do_you_want_end_this_chat": "Terminare questa chat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Terminare questa chat e cambiare dipartimento?", - "Are_you_sure_do_you_want_switch_the_department": "Sei sicuro di voler cambiare dipartimento?", - "Cancel": "Annulla", - "Change": "Cambia", - "Chat_ended": "Chat terminata!", - "Connecting_to_an_Agent": "Collegamento con un agente", - "Choose_a_new_department": "Seleziona un nuovo dipartimento", - "Close_menu": "Chiudi menu", - "Conversation_finished": "Conversazione terminata", - "End_chat": "Termina chat", - "How_friendly_was_the_chat_agent": "Quanto è stato disponibile l'operatore?", - "How_knowledgeable_was_the_chat_agent": "Quanto è stato ben informato l'operatore?", - "How_responsive_was_the_chat_agent": "Quanto è stato efficiente l'operatore?", - "How_satisfied_were_you_with_this_chat": "Quanto sei soddisfatto di questa chat?", - "Installation": "Installazione", - "New_messages": "Nuovi messaggi", - "New_livechat_in_queue": "Nuova chat in coda", - "No": "No", - "Options": "Opzioni", - "Please_answer_survey": "Dedicaci un momento per rispondere a un veloce sondaggio su questa chat", - "Please_choose_a_department": "Selezionare un dipartimento", - "Please_fill_name_and_email": "Compilare nome ed email", - "Powered_by": "Tecnologia di", - "Request_video_chat": "Richiedi chat video", - "Select_a_department": "Seleziona un dipartimento", - "Switch_department": "Cambia dipartimento", - "Department_switched": "Dipartimento cambiato", - "Send": "Invia", - "Skip": "Salta", - "Start_Chat": "Avvia chat", - "Survey": "Sondaggio", - "Survey_instructions": "Vota ogni domanda in base al tuo grado di soddisfazione, 1 per completamente insoddisfatto e 5 per completamente soddisfatto.", - "Thank_you_for_your_feedback": "Grazie per il tuo feedback", - "Thanks_We_ll_get_back_to_you_soon": "Grazie! Ti risponderemo al più presto.", - "transcript_sent": "Trascrizione inviata", - "Type_your_email": "Inserire la propria email", - "Type_your_message": "Inserire il proprio messaggio", - "Type_your_name": "Inserire il proprio nome", - "Upload_file_question": "Caricare il file?", - "User_joined": "L'utente si è iscritto", - "User_left": "L'utente ha abbandonato", - "We_are_not_online_right_now_please_leave_a_message": "Non siamo online al momento. Lasciare un messaggio.", - "We_are_offline_Sorry_for_the_inconvenience": "Siamo offline. Ci dispiace per l'inconveniente.", - "Yes": "Sì", - "You": "Tu", - "You_must_complete_all_fields": "È necessario completare tutti i campi" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ja.i18n.json b/packages/rocketchat-livechat/.app/i18n/ja.i18n.json deleted file mode 100644 index 3682e870ac0..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ja.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "さらにご意見などございましたら、こちらから", - "Appearance": "表示", - "Are_you_sure_do_you_want_end_this_chat": "チャットを終了してもよろしいですか?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "このチャットを終了して部門を切り替えますか?", - "Are_you_sure_do_you_want_switch_the_department": "部門を切り替えてよろしいですか?", - "Cancel": "キャンセル", - "Change": "変更", - "Chat_ended": "チャットを終了しました", - "Connecting_to_an_Agent": "担当者に接続する", - "Choose_a_new_department": "部門を追加", - "Close_menu": "閉じる", - "Conversation_finished": "会話が終了しました", - "End_chat": "チャットを終了", - "How_friendly_was_the_chat_agent": "チャット担当者の親しみやすさは、いかがでしたか?", - "How_knowledgeable_was_the_chat_agent": "チャット担当者の知識は、いかがでしたか?", - "How_responsive_was_the_chat_agent": "チャット担当者の対応は、いかがでしたか?", - "How_satisfied_were_you_with_this_chat": "このチャットの満足度を教えて頂けますか?", - "Installation": "インストール", - "New_messages": "新しいメッセージ", - "New_livechat_in_queue": "キューの新しいチャット", - "No": "いいえ", - "Options": "オプション", - "Please_answer_survey": "このチャットに関する簡単なアンケートに、少々お時間を頂けますでしょうか?", - "Please_choose_a_department": "部門を選択してください", - "Please_fill_name_and_email": "名前とメールアドレスを入力してください", - "Please_wait_for_the_next_available_agent": "次の利用可能なエージェントをお待ちください。", - "Powered_by": "Powered by ", - "Request_video_chat": "ビデオチャットをリクエストする", - "Select_a_department": "部門を選択", - "Switch_department": "部門を切替", - "Department_switched": "切替えられた部門", - "Send": "送信", - "Skip": "スキップ", - "Start_Chat": "チャットを開始", - "Survey": "アンケート", - "Survey_instructions": "それぞれの設問について満足度を、不満 1 〜 満足 5 で評価してください。", - "Thank_you_for_your_feedback": "ご意見をありがとうございます", - "Thanks_We_ll_get_back_to_you_soon": "ありがとうございます!のちほど折り返しご連絡します。", - "transcript_sent": "送信済みトランスクリプト", - "Type_your_email": "あなたのメールアドレスを入力してください", - "Type_your_message": "メッセージを入力", - "Type_your_name": "名前を入力してください", - "Upload_file_question": "ファイルをアップロードしますか?", - "User_joined": "参加ユーザー", - "User_left": "退出ユーザー", - "We_are_not_online_right_now_please_leave_a_message": "ただいまオンラインではありません。メッセージを残してください。", - "We_are_offline_Sorry_for_the_inconvenience": "ただいまオフラインです。ご不便をお掛けし、申し訳ありません。", - "Yes": "はい", - "You": "あなた", - "You_must_complete_all_fields": "すべてのフィールドは必須です" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/km.i18n.json b/packages/rocketchat-livechat/.app/i18n/km.i18n.json deleted file mode 100644 index d42c5aa234d..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/km.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "មតិបន្ថែម", - "Appearance": "រូបរាង", - "Are_you_sure_do_you_want_end_this_chat": "តើអ្នកពិតជាចង់បញ្ចប់ការជជែកនេះឬ?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "តើអ្នកប្រាកដថាចង់បញ្ចប់ការជជែកនេះ ហើយប្តូរនាយកដ្ឋានទេ?", - "Are_you_sure_do_you_want_switch_the_department": "តើអ្នកពិតជាចង់ផ្លាស់ប្តូរនាយកដ្ឋានឬ?", - "Cancel": "បោះបង់", - "Change": "ផ្លាស់ប្តូរ", - "Chat_ended": "ការជជែកបានបញ្ចប់!", - "Connecting_to_an_Agent": "ភ្ជាប់ទៅភ្នាក់ងារ", - "Choose_a_new_department": "ជ្រើសរើសនាយកដ្ឋានថ្មី", - "Close_menu": "បិទម៉ឺនុយ", - "Conversation_finished": "សន្ទនាបានបញ្ចប់", - "End_chat": "បញ្ចប់ការជជែក", - "How_friendly_was_the_chat_agent": "តើភ្នាក់ងារជជែកកំសាន្តនេះ ងាយស្រួលឬទេ?", - "How_knowledgeable_was_the_chat_agent": "តើចំណេះដឹងដែលភ្នាក់ងារជជែកកំសាន្តផ្តល់ឲ្យគ្រប់គ្រាន់ឬទេ?", - "How_responsive_was_the_chat_agent": "តើធ្វើដូចម្តេចឆ្លើយតបភ្នាក់ងារជជែកកំសាន្តនោះ?", - "How_satisfied_were_you_with_this_chat": "តើអ្នកពេញចិត្តនាក់អ្នកជាមួយនឹងការជជែកនេះ?", - "Installation": "ការដំឡើង", - "New_messages": "សារថ្មី", - "New_livechat_in_queue": "សារថ្មីនៅក្នុងបញ្ជីរង់ចាំ", - "No": "ទេ", - "Options": "ជម្រើស", - "Please_answer_survey": "សូមចំណាយពេលបន្តិចដើម្បីឆ្លើយតបការស្ទង់មតិរហ័សអំពីការជជែកនេះ", - "Please_choose_a_department": "សូមជ្រើសរើសនាយកដ្ឋាន", - "Please_fill_name_and_email": "សូមបំពេញឈ្មោះនិងអ៊ីម៉ែល", - "Please_wait_for_the_next_available_agent": "សូមរង់ចាំភ្នាក់ងារដែលអាចរកបានបន្ទាប់។", - "Powered_by": "ឧបត្ថម្ភដោយ", - "Request_video_chat": "ស្នើសុំការជជែកជាវីដេអូ", - "Select_a_department": "ជ្រើសផ្នែកណាមួយ", - "Switch_department": "ប្ដូរផ្នែក", - "Department_switched": "នាយកដ្ឋានបានប្តូរ", - "Send": "ផ្ញើ", - "Skip": "រំលង", - "Start_Chat": "ចាប់ផ្ដើម​ជជែក​កំសាន្ត", - "Survey": "ការស្ទង់មតិ", - "Survey_instructions": "អត្រាសំណួរគ្នាយោងទៅតាមការពេញចិត្តរបស់អ្នក, 1 មានន័យថាអ្នកគឺជាអ្នកមិនទាន់បានដោះស្រាយទាំងស្រុងនិង 5 មានន័យថាអ្នកគឺជាអ្នកពេញចិត្តទាំងស្រុង។", - "Thank_you_for_your_feedback": "សូមអរគុណសម្រាប់មតិរបស់អ្នក", - "Thanks_We_ll_get_back_to_you_soon": "សូមអរគុណ! យើងនឹងទទួលបានមកវិញដើម្បីឱ្យអ្នកឆាប់។", - "transcript_sent": "ប្រតិចារិកបានផ្ញើ", - "Type_your_email": "វាយបញ្ចូលអ៊ីមែលរបស់លោកអ្នក", - "Type_your_message": "វាយសាររបស់អ្នក", - "Type_your_name": "វាយបញ្ចូលឈ្មោះរបស់អ្នក", - "Upload_file_question": "ផ្ទុក​ឯកសារ​ឡើង​ឬ?", - "User_joined": "អ្នកប្រ", - "User_left": "អ្នកប្រើបានចាកចេញ", - "We_are_not_online_right_now_please_leave_a_message": "យើងមិននៅលើអ៊ីនធឺរណែតឥឡូវនេះទេ។ សូមទុកសារ។", - "We_are_offline_Sorry_for_the_inconvenience": "យើងមាននៅក្រៅបណ្ដាញ។ សូមអភ័យទោសចំពោះការរំខាននេះ។", - "Yes": "បាទ", - "You": "អ្នក", - "You_must_complete_all_fields": "អ្នកត្រូវតែបំពេញវាលទាំងអស់" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ko.i18n.json b/packages/rocketchat-livechat/.app/i18n/ko.i18n.json deleted file mode 100644 index 280832842a0..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ko.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "추가 의견", - "Appearance": "외관", - "Are_you_sure_do_you_want_end_this_chat": "이 대화를 정말 끝내시겠습니까?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "현재 진행중인 채팅을 종료하고 부서를 변경하시겠습니까?", - "Are_you_sure_do_you_want_switch_the_department": "부서를 변경하시겠습니까?", - "Cancel": "취소", - "Change": "변경", - "Chat_ended": "채팅이 종료되었습니다. ", - "Connecting_to_an_Agent": "상담사와 접속중", - "Choose_a_new_department": "새 부서를 선택해주세요", - "Close_menu": "메뉴 닫기", - "Conversation_finished": "대화 종료됨", - "End_chat": "채팅 종료", - "How_friendly_was_the_chat_agent": "상담사가 친절했나요?", - "How_knowledgeable_was_the_chat_agent": "상담사의 관련 업무 지식이 충분했나요?", - "How_responsive_was_the_chat_agent": "상담사의 대응은 어떠했나요?", - "How_satisfied_were_you_with_this_chat": "상담에 만족하셨나요?", - "Installation": "설치", - "New_messages": "새 메시지", - "New_livechat_in_queue": "대기열에 새 대화", - "No": "아니오", - "Options": "옵션", - "Please_answer_survey": "이 채팅에 대한 간단한 설문 조사에 응답하기 위해 잠시 시간을 내어 주시기 바랍니다.", - "Please_choose_a_department": "부서를 선택해주세요", - "Please_fill_name_and_email": "이름과 이메일을 입력하세요", - "Powered_by": "Powered by", - "Request_video_chat": "화상채팅 요청", - "Select_a_department": "부서를 선택해주세요", - "Switch_department": "부서 변경", - "Department_switched": "부서가 변경되었습니다", - "Send": "전송", - "Skip": "건너뛰기", - "Start_Chat": "채팅 시작", - "Survey": "설문", - "Survey_instructions": "당신의 만족도를 평가해 주세요. 매우 불만은 1, 매우 만족은 5 입니다.", - "Thank_you_for_your_feedback": "의견을 보내 주셔서 감사합니다", - "Thanks_We_ll_get_back_to_you_soon": "감사합니다! 곧 다시 연락드리겠습니다", - "transcript_sent": "채팅 내용을 발송했습니다", - "Type_your_email": "이메일을 입력해주세요", - "Type_your_message": "메시지를 입력해주세요", - "Type_your_name": "이름을 입력해주세요", - "Upload_file_question": "파일을 업로드하시겠습니까?", - "User_joined": "사용자가 참여하였습니다", - "User_left": "사용자가 떠났습니다", - "We_are_not_online_right_now_please_leave_a_message": "온라인 상태가 아닙니다. 메시지를 남겨주세요.", - "We_are_offline_Sorry_for_the_inconvenience": "현재 오프라인 상태입니다. 불편을 드려 죄송합니다", - "Yes": "예", - "You": "나", - "You_must_complete_all_fields": "모든 필드를 작성해야합니다" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ku.i18n.json b/packages/rocketchat-livechat/.app/i18n/ku.i18n.json deleted file mode 100644 index 273674cc563..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ku.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Feedback Additional", - "Appearance": "Xuyabûnî", - "Are_you_sure_do_you_want_end_this_chat": "Ma hûn rast in?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ma hûn rast binivîsin ku hûn dixwaze vê dezgehên veguhestinê û veguherîna dawî bikin?", - "Cancel": "Bişûndekirin", - "Change": "Gûherrandinî", - "Chat_ended": "Chat qediya!", - "Choose_a_new_department": "Daîreya nû ya hilbijêrin", - "Close_menu": "Menu menu", - "Conversation_finished": "conversation qedand", - "End_chat": "Chat chat", - "How_friendly_was_the_chat_agent": "agent chat çawa dostane bû?", - "How_knowledgeable_was_the_chat_agent": "agent chat çawa zana bû?", - "How_responsive_was_the_chat_agent": "agent chat çawa bersîva bû?", - "How_satisfied_were_you_with_this_chat": "Çiqas memnûn we bi vê axaftinê de bûn?", - "Installation": "Lêkirinî", - "New_messages": "mesajên nû", - "No": "Na", - "Options": "Vebijêrkên", - "Please_answer_survey": "Ji kerema xwe, niha bigire ku tu bersiva anketê bi lez li ser vê chat", - "Please_choose_a_department": "Ji kerema xwe wezaretê hilbijêrin", - "Please_fill_name_and_email": "Ji kerema xwe ve name û e-mail tijî", - "Powered_by": "Powered by", - "Request_video_chat": "Request video chat", - "Select_a_department": "Select a beşa", - "Switch_department": "Dezgeha Switch", - "Department_switched": "Wezaretê veguherîn", - "Send": "Şandin", - "Skip": "Hilperkîn", - "Start_Chat": "Start Chat", - "Survey": "Lêkolîn", - "Survey_instructions": "Pûan hev pirs li gor dilê we, 1 wateya we ne razî ne bi temamî û 5 wateya ku tu bi temamî razî ne.", - "Thank_you_for_your_feedback": "Spas ji bo we Deng xwe", - "Thanks_We_ll_get_back_to_you_soon": "Spas! Em ê dîsa ji te re şîfayê.", - "transcript_sent": "Transcript şandin", - "Type_your_email": "Type email te", - "Type_your_message": "Mesaja we", - "Type_your_name": "navê te Type", - "Upload_file_question": "Pelê bar bike?", - "User_joined": "Bikarhêner bûn", - "User_left": "çepê Bikarhêner", - "We_are_not_online_right_now_please_leave_a_message": "Em niha ne tenê ne. Ji kerema xwe, peyamek bistînin.", - "We_are_offline_Sorry_for_the_inconvenience": "Em ne offline. Mixabin ji ber nerihetîya.", - "Yes": "Erê", - "You": "Hûn", - "You_must_complete_all_fields": "Divê hûn hemû waran de temam" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/lo.i18n.json b/packages/rocketchat-livechat/.app/i18n/lo.i18n.json deleted file mode 100644 index 0aa6ab6ec32..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/lo.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "ຜົນຕອບຮັບເພີ່ມເຕີມ", - "Appearance": "ຮູບລັກສະນະ", - "Are_you_sure_do_you_want_end_this_chat": "ທ່ານແນ່ໃຈວ່າທ່ານຕ້ອງການສິ້ນສຸດການສົນທະນານີ້?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "ທ່ານແນ່ໃຈວ່າທ່ານຕ້ອງການສິ້ນສຸດການສົນທະນານີ້ແລະປ່ຽນສະຖານີປ່ຽນ?", - "Cancel": "ຍົກເລີກ", - "Change": "ປ່ຽນແປງ", - "Chat_ended": "ການສົນທະນາສິ້ນສຸດລົງ!", - "Choose_a_new_department": "ເລືອກຫ້ອງໃຫມ່", - "Close_menu": "ປິດເມນູ", - "Conversation_finished": "ການສົນທະນາໄດ້ສໍາເລັດ", - "End_chat": "ສິ້ນສຸດການສົນທະນາ", - "How_friendly_was_the_chat_agent": "ວິທີການທີ່ເປັນຕົວແທນການສົນທະນາ?", - "How_knowledgeable_was_the_chat_agent": "ວິທີການມີຄວາມຮູ້ນີ້ແມ່ນຕົວແທນການສົນທະນາ?", - "How_responsive_was_the_chat_agent": "ວິທີການຕອບສະຫນອງນີ້ແມ່ນຕົວແທນການສົນທະນາ?", - "How_satisfied_were_you_with_this_chat": "ວິທີການພໍໃຈທີ່ທ່ານໄດ້ມີການສົນທະນານີ້?", - "Installation": "ການຕິດຕັ້ງ", - "New_messages": "ຂໍ້ຄວາມໃຫມ່", - "No": "No", - "Options": "ຕົວເລືອກ", - "Please_answer_survey": "ກະລຸນາໃຊ້ເວລາປັດຈຸບັນເປັນທີ່ຈະຕອບການສໍາຫຼວດໄວກ່ຽວກັບການສົນທະນານີ້", - "Please_choose_a_department": "ກະລຸນາເລືອກຫ້ອງການ", - "Please_fill_name_and_email": "ກະລຸນາຕື່ມຂໍ້ມູນໃສ່ຊື່ແລະອີເມລ", - "Powered_by": "ສະ​ຫນັບ​ສະ​ຫນູນ​ໂດຍ", - "Request_video_chat": "Request video chat", - "Select_a_department": "ເລືອກຂອງພະແນກ", - "Switch_department": "Switch department", - "Department_switched": "ກົມປ່ຽນແປງ", - "Send": "ສົ່ງ", - "Skip": "ຂ້າມ", - "Start_Chat": "ການ​ເລີ່ມ​ຕົ້ນ​ສົນ​ທະ​ນາ", - "Survey": "ການສໍາຫຼວດ", - "Survey_instructions": "ອັດຕາຄໍາຖາມແຕ່ລະຄົນຕາມຄວາມເພິ່ງພໍໃຈຂອງທ່ານ, 1 ຊຶ່ງຫມາຍຄວາມວ່າທ່ານບໍ່ພໍໃຈຢ່າງສົມບູນແລະ 5 ຊຶ່ງຫມາຍຄວາມວ່າທ່ານພໍໃຈຫມົດ.", - "Thank_you_for_your_feedback": "ຂໍ​ຂອບ​ໃຈ​ທ່ານ​ສໍາ​ລັບ​ການ​ຕໍາ​ນິ​ຕິ​ຊົມ​ຂອງ​ທ່ານ​", - "Thanks_We_ll_get_back_to_you_soon": "ຂໍຂອບໃຈ! ພວກເຮົາຈະໄດ້ຮັບການຄືນຫາທ່ານທັນທີ.", - "transcript_sent": "ການສົ່ງຂໍ້ຄວາມຖືກສົ່ງໄປ", - "Type_your_email": "ພິມອີເມວຂອງທ່ານ", - "Type_your_message": "ພິມຂໍ້ຄວາມຂອງທ່ານ", - "Type_your_name": "ພິມຊື່ຂອງທ່ານ", - "Upload_file_question": "ອັບໂຫລດເອກະສານ?", - "User_joined": "ຜູ້ໃຊ້ເຂົ້າຮ່ວມ", - "User_left": "ຊ້າຍ User", - "We_are_not_online_right_now_please_leave_a_message": "ພວກເຮົາບໍ່ໄດ້ອອນໄລນ໌ໃນປັດຈຸບັນ. ກະລຸນາອອກຈາກຂໍ້ຄວາມ.", - "We_are_offline_Sorry_for_the_inconvenience": "ພວກເຮົາມີຄວາມອອຟໄລ. ຂໍ​ອະ​ໄພ​ໃນ​ຄວາມ​ບໍ່​ສະ​ດວກ.", - "Yes": "ແມ່ນແລ້ວ", - "You": "ທ່ານ", - "You_must_complete_all_fields": "ທ່ານຕ້ອງເຮັດສໍາເລັດທົ່ງນາທັງຫມົດ" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/lt.i18n.json b/packages/rocketchat-livechat/.app/i18n/lt.i18n.json deleted file mode 100644 index 6846ed7e547..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/lt.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Papildomi Atsiliepimai", - "Appearance": "Išvaizda", - "Are_you_sure_do_you_want_end_this_chat": "Ar tikrai norite užbaigti pokalbį?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ar tikrai norite užbaigti pokalbi ir pakeisti skyrių.", - "Cancel": "Atšaukti", - "Change": "Keisti", - "Chat_ended": "Pokalbis užbaigtas!", - "Choose_a_new_department": "Pasirinkite naują skyrių", - "Close_menu": "Uždaryti meniu", - "Conversation_finished": "Pokalbis baigtas", - "End_chat": "Baigti pokalbį", - "How_friendly_was_the_chat_agent": "Ar draugiškas pokalbių agentas buvo draugiškas?", - "How_knowledgeable_was_the_chat_agent": "Kaip žino pokalbių agentas?", - "How_responsive_was_the_chat_agent": "Kaip atsakas buvo pokalbių agentas?", - "How_satisfied_were_you_with_this_chat": "Ar jūs patenkintas šiuo pokalbiu?", - "Installation": "Įdiegimas", - "New_messages": "Nauji pranešimai", - "No": "Nėra", - "Options": "Galimybės", - "Please_answer_survey": "Prašome atkreipti dėmesį į greitą apklausą apie šį pokalbį", - "Please_choose_a_department": "Prašome pasirinkti skyrių", - "Please_fill_name_and_email": "Prašome užpildyti vardą ir el. Pašto adresą", - "Powered_by": "Powered by", - "Request_video_chat": "Prašyti vaizdo pokalbio", - "Select_a_department": "Pasirinkite skyrių", - "Switch_department": "Perjungti skyrius", - "Department_switched": "Skyrius perjungtas", - "Send": "Siųsti", - "Skip": "Praleisti", - "Start_Chat": "Pradėti pokalbį", - "Survey": "Apklausa", - "Survey_instructions": "Įvertinkite kiekvieną klausimą pagal savo pasitenkinimą, 1 reiškia, kad esate visiškai nepatenkintas ir 5 reiškia, kad esate visiškai patenkintas.", - "Thank_you_for_your_feedback": "Dėkojame už jūsų atsiliepimus", - "Thanks_We_ll_get_back_to_you_soon": "Dėkoju! Netrukus grįšime jums.", - "transcript_sent": "Siužetas išsiųstas", - "Type_your_email": "Įveskite savo el", - "Type_your_message": "Įveskite savo pranešimą", - "Type_your_name": "Įveskite savo vardą", - "Upload_file_question": "Įkelti failą?", - "User_joined": "Vartotojas prisijungė", - "User_left": "Vartotojas paliko", - "We_are_not_online_right_now_please_leave_a_message": "Šiuo metu mes nesame prisijungę. Prašome palikti pranešimą.", - "We_are_offline_Sorry_for_the_inconvenience": "Mes neprisijungę. Atsiprašome už nepatogumus.", - "Yes": "Ne", - "You": "Tu", - "You_must_complete_all_fields": "Turite užpildyti visus laukus" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/lv.i18n.json b/packages/rocketchat-livechat/.app/i18n/lv.i18n.json deleted file mode 100644 index 77210585af0..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/lv.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Papildu atsauksmes", - "Appearance": "Izskats", - "Are_you_sure_do_you_want_end_this_chat": "Vai tiešām vēlaties beigt šo tērzēšanu?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Vai tiešām vēlaties beigt šo tērzēšanu un mainīt departamentu?", - "Cancel": "Atcelt", - "Change": "Mainīt", - "Chat_ended": "Tērzēšana beigusies!", - "Choose_a_new_department": "Izvēlies jaunu departamentu", - "Close_menu": "Aizvērt izvēlni", - "Conversation_finished": "Saruna pabeigta", - "End_chat": "Beigt tērzēšanu", - "How_friendly_was_the_chat_agent": "Cik draudzīgs bija tērzēšanas aģents?", - "How_knowledgeable_was_the_chat_agent": "Cik zinošs bija tērzēšanas aģents?", - "How_responsive_was_the_chat_agent": "Cik atsaucīgs bija tērzēšanas aģentūra?", - "How_satisfied_were_you_with_this_chat": "Cik apmierināts jūs esat ar šo tērzēšanu?", - "Installation": "Uzstādīšana", - "New_messages": "Jaunas ziņas", - "No": "Nr.", - "Options": "Iespējas", - "Please_answer_survey": "Lūdzu, veltiet nedaudz laika, lai atbildētu uz nelielu aptauju par šo tērzēšanu", - "Please_choose_a_department": "Lūdzu, izvēlieties departamentu", - "Please_fill_name_and_email": "Lūdzu, ievadiet vārdu un e-pastu", - "Powered_by": "Darbību nodrošina", - "Request_video_chat": "Pieprast video tērzēšanu", - "Select_a_department": "Izvēlieties departamentu", - "Switch_department": "Mainīt departamentu", - "Department_switched": "Departaments ir nomainīts", - "Send": "Sūtīt", - "Skip": "Izlaist", - "Start_Chat": "Uzsākt tērzēšanu", - "Survey": "Aptauja", - "Survey_instructions": "Novērtējiet katru jautājumu atbilstoši jūsu apmierinātībai - 1, tas nozīmē, ka jūs esat ļoti neapmierināts un 5 nozīmē, ka esat pilnībā apmierināts.", - "Thank_you_for_your_feedback": "Paldies par jūsu atsauksmēm", - "Thanks_We_ll_get_back_to_you_soon": "Paldies! Mēs drīz Jums atbildēsim.", - "transcript_sent": "Stenogramma nosūtīta", - "Type_your_email": "Ierakstiet savu e-pastu", - "Type_your_message": "Ierakstiet savu ziņojumu", - "Type_your_name": "Ierakstiet savu vārdu", - "Upload_file_question": "Vai augšupielādēt failu?", - "User_joined": "Lietotājs pievienojās", - "User_left": "Lietotājs atvienojās", - "We_are_not_online_right_now_please_leave_a_message": "Mēs šobrīd neesam tiešsaistē. Lūdzu, atstāj ziņu.", - "We_are_offline_Sorry_for_the_inconvenience": "Mēs esam bezsaistē. Atvainojamies par sagādātajām neērtībām.", - "Yes": "jā", - "You": "Jūs", - "You_must_complete_all_fields": "Jums ir jāaizpilda visi lauki" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/mn.i18n.json b/packages/rocketchat-livechat/.app/i18n/mn.i18n.json deleted file mode 100644 index 09f749fa0f1..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/mn.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Нэмэлт санал хүсэлт", - "Appearance": "Гадаад төрх", - "Are_you_sure_do_you_want_end_this_chat": "Та энэ чатыг дуусгахыг хүсч байгаадаа итгэлтэй байна уу?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Та энэ чатыг дуусгахыг хүсч байгаадаа итгэлтэй байна уу?", - "Cancel": "Цуцлах", - "Change": "Өөрчлөлт", - "Chat_ended": "Чат дууссан байна!", - "Choose_a_new_department": "Шинэ газар сонгоно уу", - "Close_menu": "Close цэс", - "Conversation_finished": "Харилцаа дууссан", - "End_chat": "Төгсгөлийн чат", - "How_friendly_was_the_chat_agent": "Чат төлөөлөгч хэр найрсаг байсан бэ?", - "How_knowledgeable_was_the_chat_agent": "Чат төлөөлөгч хэр мэдлэгтэй байсан бэ?", - "How_responsive_was_the_chat_agent": "Чатын төлөөлөгч хэр зэрэг хариуцлагатай байсан бэ?", - "How_satisfied_were_you_with_this_chat": "Энэ чаттай хэр сэтгэл хангалуун байсан бэ?", - "Installation": "Суурилуулалт", - "New_messages": "Шинэ зурвасууд", - "No": "Үгүй", - "Options": "Сонголтууд", - "Please_answer_survey": "Энэ чатын тухай түргэн шуурхай хариулт өгөхөд түр зуур уу", - "Please_choose_a_department": "Нэг газар сонгоно уу", - "Please_fill_name_and_email": "Нэр болон имэйлийг оруулна уу", - "Powered_by": "Powered by", - "Request_video_chat": "Видео чат илгээх", - "Select_a_department": "Нэг хэлтэс сонгоно уу", - "Switch_department": "Солих хэлтэс", - "Department_switched": "Хэлтэс солигдсон", - "Send": "Илгээх", - "Skip": "Алгасах", - "Start_Chat": "Чатыг эхлүүлэх", - "Survey": "Судалгаа", - "Survey_instructions": "Асуулт бүрийг таны сэтгэл ханамжийн түвшинд үнэлэх, 1 гэсэн утга нь бүрэн дүүрэн сэтгэл хангалуун бус, 5 утга учир нь бүрэн хангагдсан гэсэн утгатай.", - "Thank_you_for_your_feedback": "Таны санал хүсэлтэнд баярлалаа", - "Thanks_We_ll_get_back_to_you_soon": "Баярлалаа! Бид удахгүй танд хандах болно.", - "transcript_sent": "Шилжүүлэн илгээх", - "Type_your_email": "Имэйлээ оруулна уу", - "Type_your_message": "Мессеж бичнэ үү", - "Type_your_name": "Нэрээ оруулна уу", - "Upload_file_question": "Файл оруулах уу?", - "User_joined": "Хэрэглэгчид нэгдсэн байна", - "User_left": "Хэрэглэгчид үлдсэн", - "We_are_not_online_right_now_please_leave_a_message": "Бид онлайнаар холбогдоогүй байна. Зурвасаа үлдээгээрэй.", - "We_are_offline_Sorry_for_the_inconvenience": "Бид офлайн байна. Төвөг удсанд уучлаарай.", - "Yes": "Тиймээ", - "You": "Та", - "You_must_complete_all_fields": "Та бүх талбарыг бөглөх ёстой" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json b/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json deleted file mode 100644 index 3d6ec6fbd17..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Maklum balas tambahan", - "Appearance": "rupa", - "Are_you_sure_do_you_want_end_this_chat": "Adakah anda pasti mahu menamatkan sembang ini?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Adakah anda pasti mahu menamatkan sembang ini dan menukar jabatan?", - "Cancel": "Batal", - "Change": "Ubah", - "Chat_ended": "Sembang berakhir!", - "Choose_a_new_department": "Pilih jabatan baru", - "Close_menu": "Tutup menu", - "Conversation_finished": "perbualan selesai", - "End_chat": "Tamatkan sembang", - "How_friendly_was_the_chat_agent": "Bagaimana mesra adalah ejen chat?", - "How_knowledgeable_was_the_chat_agent": "Sejauh manakah ejen chat?", - "How_responsive_was_the_chat_agent": "Bagaimana responsif adalah ejen chat?", - "How_satisfied_were_you_with_this_chat": "Apakah tahap kepuasan hadir di sisi sembang ini?", - "Installation": "pemasangan", - "New_messages": "mesej baru", - "No": "Tidak", - "Options": "Pilihan", - "Please_answer_survey": "Sila luangkan sedikit masa untuk menjawab kaji selidik yang cepat mengenai sembang ini", - "Please_choose_a_department": "Sila pilih jabatan", - "Please_fill_name_and_email": "Sila isikan nama dan e-mel", - "Powered_by": "Dikuasai oleh", - "Request_video_chat": "Meminta sembang video", - "Select_a_department": "Pilih jabatan", - "Switch_department": "Tukar jabatan", - "Department_switched": "Jabatan dihidupkan", - "Send": "menghantar", - "Skip": "Langkau", - "Start_Chat": "Mula Chat", - "Survey": "Survey", - "Survey_instructions": "Menilai setiap soalan menurut kepuasan anda, 1 bermakna anda benar-benar berpuas hati dan 5 yang bermaksud anda benar-benar berpuas hati.", - "Thank_you_for_your_feedback": "Terima kasih atas maklum balas anda", - "Thanks_We_ll_get_back_to_you_soon": "Terima kasih! Kami akan kembali kepada anda tidak lama lagi.", - "transcript_sent": "Transkrip dihantar", - "Type_your_email": "Taipkan e-mel anda", - "Type_your_message": "Taipkan mesej anda", - "Type_your_name": "Taipkan nama anda", - "Upload_file_question": "Muat naik fail?", - "User_joined": "pengguna menyertai", - "User_left": "kiri pengguna", - "We_are_not_online_right_now_please_leave_a_message": "Kami tidak berada dalam talian sekarang. Tolong, tinggalkan mesej.", - "We_are_offline_Sorry_for_the_inconvenience": "Kami berada di luar talian. Maaf atas kesulitan.", - "Yes": "Ya", - "You": "Anda", - "You_must_complete_all_fields": "Anda mesti melengkapkan semua bidang" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/nl.i18n.json b/packages/rocketchat-livechat/.app/i18n/nl.i18n.json deleted file mode 100644 index dfa4db7c127..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/nl.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Extra feedback", - "Appearance": "Uiterlijk", - "Are_you_sure_do_you_want_end_this_chat": "Weet je zeker dat je deze chat wilt beëindigen?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Weet je zeker dat je deze chat wilt beëindigen en van afdeling wilt veranderen?", - "Are_you_sure_do_you_want_switch_the_department": "Weet je het zeker dat je wilt wisselen van afdeling?", - "Cancel": "Annuleren", - "Change": "Aanpassen", - "Chat_ended": "Chat beëindigd", - "Connecting_to_an_Agent": "Verbinding aan het maken met een agent", - "Choose_a_new_department": "Kies een nieuwe afdeling", - "Close_menu": "Menu sluiten", - "Conversation_finished": "Gesprek beëindigd", - "End_chat": "Beëindig chat", - "How_friendly_was_the_chat_agent": "Hoe vriendelijk was de chat-agent?", - "How_knowledgeable_was_the_chat_agent": "Hoe deskundig was de chat-agent?", - "How_responsive_was_the_chat_agent": "Hoe goed reageerde de chat-agent?", - "How_satisfied_were_you_with_this_chat": "Hoe tevreden bent u met deze chat?", - "Installation": "Installatie", - "New_messages": "Nieuwe berichten", - "New_livechat_in_queue": "Nieuwe chat in wachtrij", - "No": "Nee", - "Options": "Opties", - "Please_answer_survey": "Heeft u een moment om een korte enquête over deze chat te beantwoorden", - "Please_choose_a_department": "Kies alstublieft een afdeling", - "Please_fill_name_and_email": "Vul naam en e-mail in", - "Please_wait_for_the_next_available_agent": "Wacht alstublieft op de volgende beschikbare medewerker.", - "Powered_by": "Mede mogelijk gemaakt door", - "Request_video_chat": "Vraag videochat aan", - "Select_a_department": "Selecteer een afdeling", - "Switch_department": "Van afdeling wisselen", - "Department_switched": "Afdeling gewisseld", - "Send": "Sturen", - "Skip": "Overslaan", - "Start_Chat": "Start Chat", - "Survey": "Enquête", - "Survey_instructions": "Beoordeel elke vraag naar mate van uw tevredenheid, 1 betekent dat u helemaal ontevreden bent en 5 betekent volledig tevreden.", - "Thank_you_for_your_feedback": "Hartelijk dank voor uw feedback", - "Thanks_We_ll_get_back_to_you_soon": "Bedankt! We zullen binnenkort contact met u opnemen.", - "transcript_sent": "Transcriptie verzonden", - "Type_your_email": "Typ uw e-mail", - "Type_your_message": "Typ uw bericht", - "Type_your_name": "Typ uw naam", - "Upload_file_question": "Bestand uploaden?", - "User_joined": "Gebruiker is toegetreden", - "User_left": "Gebruiker is weggegaan", - "We_are_not_online_right_now_please_leave_a_message": "We zijn nu niet online. Laat alsjeblieft een bericht achter.", - "We_are_offline_Sorry_for_the_inconvenience": "We zijn offline. Excuses voor het ongemak.", - "Yes": "Ja", - "You": "Jij", - "You_must_complete_all_fields": "U moet alle velden invullen" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/no.i18n.json b/packages/rocketchat-livechat/.app/i18n/no.i18n.json deleted file mode 100644 index b4e8ae0dcab..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/no.i18n.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Additional_Feedback": "Tilleggs Tilbakemelding", - "Appearance": "Utseende", - "Are_you_sure_do_you_want_end_this_chat": "Er du sikker på at du vil avslutte denne samtalen?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Er du sikker på at du vil avslutte denne samtalen og bytte avdeling?", - "Are_you_sure_do_you_want_switch_the_department": "Er du sikker på at du vil bytte avdeling?", - "Cancel": "Avbryt", - "Change": "Endre", - "Chat_ended": "Samtalen er avsluttet!", - "Choose_a_new_department": "Velg ny avdeling", - "Close_menu": "Lukk meny", - "Conversation_finished": "Samtalen er avsluttet", - "End_chat": "Avslutt samtale", - "How_friendly_was_the_chat_agent": "Hvor vennlig var personen du pratet med?", - "How_knowledgeable_was_the_chat_agent": "Hvor kunnskapsrik var chatagenten?", - "How_responsive_was_the_chat_agent": "Hvor raskt svarte personen du pratet med?", - "How_satisfied_were_you_with_this_chat": "Er du fornøyd med samtalen?", - "Installation": "Installasjon", - "New_messages": "Ny melding", - "No": "Nei", - "Options": "Egenskaper", - "Please_answer_survey": "Ta et øyeblikk for å svare på en rask undersøkelse om denne chatten", - "Please_choose_a_department": "Vennligst velg en avdeling", - "Please_fill_name_and_email": "Vennligst fyll inn navn og e-post", - "Powered_by": "Drevet av", - "Request_video_chat": "Be om videochatt", - "Select_a_department": "Velg en avdeling", - "Switch_department": "Bytt avdeling", - "Department_switched": "Avdeling skiftet", - "Send": "Send", - "Skip": "Hopp over", - "Start_Chat": "Start samtale", - "Survey": "Undersøkelse", - "Survey_instructions": "Vurder hvert spørsmål i henhold til din tilfredshet, 1 som betyr at du er helt utilfreds og 5 betyr at du er helt fornøyd.", - "Thank_you_for_your_feedback": "Takk for din tilbakemelding", - "Thanks_We_ll_get_back_to_you_soon": "Takk! Vi kommer snart tilbake til deg.", - "transcript_sent": "Sending sendt", - "Type_your_email": "Skriv inn din e-postadresse", - "Type_your_message": "Skriv inn din melding", - "Type_your_name": "Skriv inn ditt navn", - "Upload_file_question": "Last opp fil?", - "User_joined": "Bruker ble med", - "User_left": "Bruker igjen", - "We_are_not_online_right_now_please_leave_a_message": "Vi er ikke online akkurat nå. Legg igjen en beskjed.", - "We_are_offline_Sorry_for_the_inconvenience": "Vi er frakoblet. Beklager bryet.", - "Yes": "Ja", - "You": "Deg", - "You_must_complete_all_fields": "Du må fylle inn alle feltene" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/pl.i18n.json b/packages/rocketchat-livechat/.app/i18n/pl.i18n.json deleted file mode 100644 index 9f60de66a4b..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/pl.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "Dodatkowa opinia", - "Appearance": "Wygląd", - "Are_you_sure_do_you_want_end_this_chat": "Czy jesteś pewny że chcesz zakończyć rozmowę?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Czy jesteś pewny że chcesz zakończyć ten czat i zmienić dział?", - "Are_you_sure_do_you_want_switch_the_department": "Czy na pewno chcesz przełączyć dział?", - "Cancel": "Anuluj", - "Change": "Zmień", - "Chat_ended": "Rozmowa zakończona!", - "Connecting_to_an_Agent": "Łączenie się z agentem", - "Choose_a_new_department": "Wybierz nowy dział", - "Close_menu": "Zamknij menu", - "Conversation_finished": "Rozmowa zakończona", - "End_chat": "Zakończ rozmowę", - "How_friendly_was_the_chat_agent": "Jak przyjazny był nasz agent?", - "How_knowledgeable_was_the_chat_agent": "Jaką wiedzę miał nasz agent?", - "How_responsive_was_the_chat_agent": "Jak szybko reagował nasz agent?", - "How_satisfied_were_you_with_this_chat": "Jak bardzo byłeś/aś zadowolony/a z tej rozmowy?", - "Installation": "Instalacja", - "New_messages": "Nowe wiadomości", - "New_livechat_in_queue": "Nowa rozmowa w kolejce", - "No": "Nie", - "Options": "Opcje", - "Please_answer_survey": "Proszę poświęć chwilę, aby odpowiedzieć na krótką ankietę na temat tej rozmowy", - "Please_choose_a_department": "Proszę wybierz dział", - "Please_fill_name_and_email": "Proszę wypełnić nazwisko i adres e-mail", - "Powered_by": "Dostarczane przez", - "Request_video_chat": "Poproś o rozmowę video", - "Select_a_department": "Wybierz dział", - "Switch_department": "Zmień dział", - "Department_switched": "Zmieniono dział", - "Send": "Wyślij", - "Skip": "Pomiń", - "Start_Chat": "Rozpocznij czat", - "Survey": "Ankieta", - "Survey_instructions": "Oceń każde pytanie zgodnie z poziomem zadowolenia, gdzie 1 oznacza kompletne niezadowolenie, natomiast 5 co oznacza pełne zadowolenie.", - "Thank_you_for_your_feedback": "Dziękujemy za twoją opinię", - "Thanks_We_ll_get_back_to_you_soon": "Dziękujemy! Wkrótce się do Ciebie odezwiemy.", - "transcript_sent": "Transkrypt wysłany", - "Type_your_email": "Wpisz swój e-mail", - "Type_your_message": "Wpisz swoją wiadomość", - "Type_your_name": "Wpisz swoje imię i nazwisko", - "Upload_file_question": "Przesłać plik?", - "User_joined": "Użytkownik dołączył", - "User_left": "Użytkownik wyszedł", - "We_are_not_online_right_now_please_leave_a_message": "Nie jesteśmy teraz online. Proszę zostawić wiadomość.", - "We_are_offline_Sorry_for_the_inconvenience": "Jesteśmy offline. Przepraszamy za niedogodności.", - "Yes": "Tak", - "You": "Ty", - "You_must_complete_all_fields": "Musisz wypełnić wszystkie pola" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json b/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json deleted file mode 100644 index 1ef908117c9..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Feedback Adicional", - "Appearance": "Aparência", - "Are_you_sure_do_you_want_end_this_chat": "Você tem certeza que deseja encerrar?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Tem certeza que deseja fechar esse chat e trocar de departamento?", - "Are_you_sure_do_you_want_switch_the_department": "Tem certeza que deseja trocar de departamento?", - "Cancel": "Cancelar", - "Change": "Alterar", - "Chat_ended": "Chat encerrado!", - "Connecting_to_an_Agent": "Conectando-se a um Agente", - "Choose_a_new_department": "Escolha um novo departamento", - "Close_menu": "Fechar menu", - "Conversation_finished": "Chat encerrado", - "End_chat": "Encerrar chat", - "How_friendly_was_the_chat_agent": "Quão amigável foi o agente de chat?", - "How_knowledgeable_was_the_chat_agent": "Quão bem informado foi o agente de chat?", - "How_responsive_was_the_chat_agent": "Quão responsivo foi o agente de bate-papo?", - "How_satisfied_were_you_with_this_chat": "Você ficou satisfeito com este chat?", - "Installation": "Instalação", - "New_messages": "Novas mensagens", - "New_livechat_in_queue": "Novo chat na fila", - "No": "Não", - "Options": "Opções", - "Please_answer_survey": "Por favor, tire um momento para responder uma rápida pesquisa sobre este chat", - "Please_choose_a_department": "Por favor escolha um departamento", - "Please_fill_name_and_email": "Por favor, preencha nome e email", - "Please_wait_for_the_next_available_agent": "Por favor, aguarde o próximo agente disponível.", - "Powered_by": "Distribuído por", - "Request_video_chat": "Solicitar vídeoconferência", - "Select_a_department": "Selecione um departamento", - "Switch_department": "Trocar departamento", - "Department_switched": "Departamento trocado", - "Send": "Enviar", - "Skip": "Pular", - "Start_Chat": "Iniciar chat", - "Survey": "Pesquisa", - "Survey_instructions": "Classifique cada questão de acordo com a sua satisfação, 1 significa que você está completamente insatisfeito e 5 significa que você está completamente satisfeito.", - "Thank_you_for_your_feedback": "Obrigado pelo seu feedback", - "Thanks_We_ll_get_back_to_you_soon": "Obrigado! Nós entraremos em contato com você em breve.", - "transcript_sent": "Transcrição enviada", - "Type_your_email": "Digite seu e-mail", - "Type_your_message": "Digite sua mensagem", - "Type_your_name": "Digite seu nome", - "Upload_file_question": "Enviar arquivo?", - "User_joined": "Usuário entrou", - "User_left": "Usuário saiu", - "We_are_not_online_right_now_please_leave_a_message": "Nós não estamos online agora. Por favor, deixe uma mensagem.", - "We_are_offline_Sorry_for_the_inconvenience": "Nós estamos offline. Desculpe pelo inconveniente.", - "Yes": "Sim", - "You": "Você", - "You_must_complete_all_fields": "Você deve preencher todos os campos" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/pt.i18n.json b/packages/rocketchat-livechat/.app/i18n/pt.i18n.json deleted file mode 100644 index 94cc3eaa9b3..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/pt.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Comentários Adicionais", - "Appearance": "Aparência", - "Are_you_sure_do_you_want_end_this_chat": "Tem a certeza que deseja terminar a conversa?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Tem a certeza que deseja terminar esta conversa e mudar o departamento?", - "Are_you_sure_do_you_want_switch_the_department": "Tem certeza que deseja trocar de departamento?", - "Cancel": "Cancelar", - "Change": "Alterar", - "Chat_ended": "Chat encerrado!", - "Connecting_to_an_Agent": "Conectando a um Agente", - "Choose_a_new_department": "Escolha um novo departamento", - "Close_menu": "Fechar menu", - "Conversation_finished": "Chat encerrado", - "End_chat": "Encerrar chat", - "How_friendly_was_the_chat_agent": "Quão amigável foi o agente de chat?", - "How_knowledgeable_was_the_chat_agent": "Quão conhecedor foi o agente chat?", - "How_responsive_was_the_chat_agent": "Quão responsivo foi o agente de chat?", - "How_satisfied_were_you_with_this_chat": "Qual o seu grau de satisfação com este chat?", - "Installation": "Instalação", - "New_messages": "Novas mensagens", - "New_livechat_in_queue": "Novo chat em espera", - "No": "Não", - "Options": "Opções", - "Please_answer_survey": "Por favor dispense-nos um momento para responder uma rápida pesquisa sobre este chat", - "Please_choose_a_department": "Por favor escolha um departamento", - "Please_fill_name_and_email": "Por favor preencha nome e email", - "Please_wait_for_the_next_available_agent": "Por favor esperar pelo próximo agente disponível", - "Powered_by": "Distribuído por", - "Request_video_chat": "Solicitar vídeo-conferência", - "Select_a_department": "Selecione um departamento", - "Switch_department": "Mudar departamento", - "Department_switched": "Departamento alterado", - "Send": "Enviar", - "Skip": "Saltar", - "Start_Chat": "Iniciar Chat", - "Survey": "Pesquisa", - "Survey_instructions": "Classifique cada questão de acordo com a sua satisfação, 1 significa que está completamente insatisfeito e 5 significa que está completamente satisfeito.", - "Thank_you_for_your_feedback": "Obrigado pelo seu feedback", - "Thanks_We_ll_get_back_to_you_soon": "Obrigado! Entraremos em contacto consigo em breve.", - "transcript_sent": "Transcrição enviada", - "Type_your_email": "Digite seu e-mail", - "Type_your_message": "Digite sua mensagem", - "Type_your_name": "Digite seu nome", - "Upload_file_question": "Carregar ficheiro?", - "User_joined": "Utilizador entrou", - "User_left": "O utilizador saiu", - "We_are_not_online_right_now_please_leave_a_message": "Não estamos online agora. Por favor deixe uma mensagem.", - "We_are_offline_Sorry_for_the_inconvenience": "Estamos offline. Desculpe pelo inconveniente.", - "Yes": "Sim", - "You": "Tu", - "You_must_complete_all_fields": "Deve preencher todos os campos" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ro.i18n.json b/packages/rocketchat-livechat/.app/i18n/ro.i18n.json deleted file mode 100644 index e765a167d69..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ro.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Feedback suplimentar", - "Appearance": "Aspect", - "Are_you_sure_do_you_want_end_this_chat": "Sigur doriți să încheiați acest chat?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Sigur doriți să încheiați această discuție și să schimbați departamentul?", - "Cancel": "Anula", - "Change": "Schimbare", - "Chat_ended": "Chat sa încheiat!", - "Choose_a_new_department": "Alegeți un departament nou", - "Close_menu": "Închideți meniul", - "Conversation_finished": "conversație terminat", - "End_chat": "Incheierea convorbirii", - "How_friendly_was_the_chat_agent": "Cât de prietenos a fost agentul de chat?", - "How_knowledgeable_was_the_chat_agent": "Cât de informat a fost agentul de chat?", - "How_responsive_was_the_chat_agent": "Cât de rapid a fost agentul de chat?", - "How_satisfied_were_you_with_this_chat": "Cât de mulțumit sunteți de acest chat?", - "Installation": "Instalare", - "New_messages": "mesaje noi", - "No": "Nu", - "Options": "Opțiuni", - "Please_answer_survey": "Vă rugăm să acordați un moment pentru a răspunde la un sondaj rapid despre acest chat", - "Please_choose_a_department": "Alegeți un departament", - "Please_fill_name_and_email": "Vă rugăm să completați numele și e-mail", - "Powered_by": "Cu sprijinul", - "Request_video_chat": "Solicitați video chat", - "Select_a_department": "Selectați un departament", - "Switch_department": "Treceți departamentul", - "Department_switched": "Departamentul a fost schimbat", - "Send": "Trimite", - "Skip": "Sari peste asta", - "Start_Chat": "Start chat", - "Survey": "Sondaj de opinie", - "Survey_instructions": "Da o nota fiecărei întrebări în funcție de gradul de satisfacție, 1 înseamnă că sunt complet nemulțumit și 5 înseamnă că sunt complet mulțumiți.", - "Thank_you_for_your_feedback": "Vă mulțumim pentru feedback", - "Thanks_We_ll_get_back_to_you_soon": "Mulțumiri! Ne vom reveni la tine în curând.", - "transcript_sent": "Transcrierea a fost trimisă", - "Type_your_email": "Tastați un e-mail", - "Type_your_message": "Scrie mesajul", - "Type_your_name": "Introduceți numele dvs.", - "Upload_file_question": "Încarcă fișier?", - "User_joined": "utilizator sa alăturat", - "User_left": "stânga utilizator", - "We_are_not_online_right_now_please_leave_a_message": "Nu suntem online chiar acum. Te rog lasa un mesaj.", - "We_are_offline_Sorry_for_the_inconvenience": "Suntem offline. Scuze pentru neplăcerile provocate.", - "Yes": "Da", - "You": "Tu", - "You_must_complete_all_fields": "Trebuie să completați toate câmpurile" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ru.i18n.json b/packages/rocketchat-livechat/.app/i18n/ru.i18n.json deleted file mode 100644 index e9eaaab120c..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ru.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Дополнительная обратная связь", - "Appearance": "Внешний вид", - "Are_you_sure_do_you_want_end_this_chat": "Вы уверены, что хотите завершить этот чат?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Вы действительно хотите завершить этот чат и сменить отдел?", - "Are_you_sure_do_you_want_switch_the_department": "Вы уверены, что хотите сменить отдел?", - "Cancel": "Отмена", - "Change": "Изменить", - "Chat_ended": "Чат завершен!", - "Connecting_to_an_Agent": "Соединение с агентом", - "Choose_a_new_department": "Выберите новый отдел", - "Close_menu": "Закрыть меню", - "Conversation_finished": "Беседа окончена", - "End_chat": "Закончить чат", - "How_friendly_was_the_chat_agent": "Насколько дружелюбен был сотрудник чата?", - "How_knowledgeable_was_the_chat_agent": "Насколько компетентен был сотрудник чата?", - "How_responsive_was_the_chat_agent": "Насколько отзывчив был сотрудник чата?", - "How_satisfied_were_you_with_this_chat": "Насколько Вы были удовлетворены использованием этого чата?", - "Installation": "Установка", - "New_messages": "Новые сообщения", - "New_livechat_in_queue": "Новый чат в очереди", - "No": "Нет", - "Options": "Параметры", - "Please_answer_survey": "Пожалуйста, уделите немного времени, чтобы ответить на несколько вопросов об этом чате", - "Please_choose_a_department": "Пожалуйста, выберите отдел", - "Please_fill_name_and_email": "Введите имя и адрес электронной почты", - "Please_wait_for_the_next_available_agent": "Пожалуйста, дождитесь следующего доступного агента.", - "Powered_by": "Powered by", - "Request_video_chat": "Запросить видеочат", - "Select_a_department": "Выберите отдел", - "Switch_department": "Сменить отдел", - "Department_switched": "Отдел сменён", - "Send": "Отправить", - "Skip": "Пропустить", - "Start_Chat": "Начать чат", - "Survey": "Опрос", - "Survey_instructions": "Оцените каждый вопрос по 5-балльной шкале, где 1 означает, что Вы совсем недовольны, и 5 - полностью довольны.", - "Thank_you_for_your_feedback": "Спасибо за Ваш отзыв", - "Thanks_We_ll_get_back_to_you_soon": "Спасибо! Мы свяжемся с вами в ближайшее время.", - "transcript_sent": "Переписка отправлена", - "Type_your_email": "Введите адрес электронной почты", - "Type_your_message": "Введите ваше сообщение", - "Type_your_name": "Введите ваше имя", - "Upload_file_question": "Загрузить файл?", - "User_joined": "Пользователь присоединился", - "User_left": "Пользователь вышел", - "We_are_not_online_right_now_please_leave_a_message": "Мы сейчас не в сети. Пожалуйста, оставьте сообщение.", - "We_are_offline_Sorry_for_the_inconvenience": "Мы не в сети. Извините за доставленные неудобства.", - "Yes": "Да", - "You": "Вы", - "You_must_complete_all_fields": "Вам необходимо заполнить все поля" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json b/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json deleted file mode 100644 index 00e2720af35..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Ďalšia spätná väzba", - "Appearance": "Vzhľad", - "Are_you_sure_do_you_want_end_this_chat": "Naozaj chcete ukončiť tento rozhovor?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Naozaj chcete ukončiť tento rozhovor a prepnúť na iné oddelenie?", - "Cancel": "Zrušiť", - "Change": "Zmena", - "Chat_ended": "Rozhovor skončil!", - "Choose_a_new_department": "Vyberte nové oddelenie", - "Close_menu": "Zatvorte ponuku", - "Conversation_finished": "Konverzácia bola ukončená", - "End_chat": "Ukončiť rozhovor", - "How_friendly_was_the_chat_agent": "Ako priateľský bol diskusný agent?", - "How_knowledgeable_was_the_chat_agent": "Ako informovaný bol diskusný agent?", - "How_responsive_was_the_chat_agent": "Ako reagoval diskusný agent?", - "How_satisfied_were_you_with_this_chat": "Aká bola Vaša spokojnosť s touto diskusiou?", - "Installation": "Inštalácia", - "New_messages": "Nové správy", - "No": "Žiadny", - "Options": "Možnosti", - "Please_answer_survey": "Venujte prosím chvíľu odpovediam v rýchlom prieskume o tejto diskusii", - "Please_choose_a_department": "Vyberte si oddelenie", - "Please_fill_name_and_email": "Vyplňte prosím meno a e-mail", - "Powered_by": "Poháňaný", - "Request_video_chat": "Vyžiadajte si videodiskusiu", - "Select_a_department": "Vyberte oddelenie", - "Switch_department": "Prepnúť na iné oddelenie", - "Department_switched": "Oddelenie bolo prepnuté", - "Send": "Odoslať", - "Skip": "Preskočiť", - "Start_Chat": "Začať diskusiu", - "Survey": "Prieskum", - "Survey_instructions": "Ohodnoťte každú otázku na základe vašej spokojnosti, 1 znamená úplnú nespokojnosť, 5 znamená úplnú spokojnosť.", - "Thank_you_for_your_feedback": "Ďakujeme vám za vašu spätnú väzbu", - "Thanks_We_ll_get_back_to_you_soon": "Vďaka! Čoskoro sa k vám vrátime.", - "transcript_sent": "Prepis bol odoslaný", - "Type_your_email": "Zadajte svoj e-mail", - "Type_your_message": "Napíšte vašu správu", - "Type_your_name": "Zadajte svoje meno", - "Upload_file_question": "Nahrajte súbor?", - "User_joined": "Používateľ sa pripojil", - "User_left": "Používateľ odišiel", - "We_are_not_online_right_now_please_leave_a_message": "Momentálne nie sme online. Prosíme, zanechajte správu.", - "We_are_offline_Sorry_for_the_inconvenience": "Sme offline. Ospravedlňujem sa za nepríjemnosť.", - "Yes": "Áno", - "You": "Vy", - "You_must_complete_all_fields": "Musíte vyplniť všetky polia" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json b/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json deleted file mode 100644 index 3f8f50286a5..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Dodatne povratne informacije", - "Appearance": "Videz", - "Are_you_sure_do_you_want_end_this_chat": "Ste prepričani, da želite končati pogovor?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ste prepričani, da želite končati pogovor in zamenjati oddelek?", - "Cancel": "Prekliči", - "Change": "Spremeni", - "Chat_ended": "Pogovor končan!", - "Choose_a_new_department": "Izberite nov oddelek", - "Close_menu": "Zaprite meni", - "Conversation_finished": "Pogovor končan", - "End_chat": "Končaj pogovor", - "How_friendly_was_the_chat_agent": "Kako prijazen je bil agent?", - "How_knowledgeable_was_the_chat_agent": "Kako uporaben je bil pogovorni agent?", - "How_responsive_was_the_chat_agent": "Kako odziven je bil pogovorni agent?", - "How_satisfied_were_you_with_this_chat": "Kako zadovoljni ste bili s pogovorom?", - "Installation": "Namestitev", - "New_messages": "Nova sporočila", - "No": "Ne", - "Options": "Možnosti", - "Please_answer_survey": "Prosim, izpolnite kratko anketo o pogovoru", - "Please_choose_a_department": "Izberite oddelek", - "Please_fill_name_and_email": "Vpišite ime in elektronski naslov", - "Powered_by": "Uporablja tehnologijo", - "Request_video_chat": "Zaprosi za video pogovor", - "Select_a_department": "Izberite oddelek", - "Switch_department": "Zamenjajte oddelek", - "Department_switched": "Oddelek zamenjan", - "Send": "Pošlji", - "Skip": "Preskoči", - "Start_Chat": "Začni pogovor", - "Survey": "Anketa", - "Survey_instructions": "Ocenite vsako vprašanje: 1 pomeni zelo nezadovoljni, 5 pa zelo zadovoljni", - "Thank_you_for_your_feedback": "Zahvaljujemo se vam za povratne informacije", - "Thanks_We_ll_get_back_to_you_soon": "Hvala! Kmalu vam bomo odgovorili.", - "transcript_sent": "Zapis poslan", - "Type_your_email": "Vnesite svoj elektronski naslov", - "Type_your_message": "Vnesite svoje sporočilo", - "Type_your_name": "Vnesite svoje ime", - "Upload_file_question": "Želite naložiti datoteko?", - "User_joined": "Uporabnik se je pridružil", - "User_left": "Uporabnik je odšel", - "We_are_not_online_right_now_please_leave_a_message": "Trenutno nismo na spletu. Prosim pustite sporočilo.", - "We_are_offline_Sorry_for_the_inconvenience": "Smo nedosegljivi. Opravičujemo se za nevšečnosti.", - "Yes": "Da", - "You": "Vi", - "You_must_complete_all_fields": "Izpolnite vsa polja" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/sq.i18n.json b/packages/rocketchat-livechat/.app/i18n/sq.i18n.json deleted file mode 100644 index 65728b4a9ea..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/sq.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Feedback shtesë", - "Appearance": "shfaqje", - "Are_you_sure_do_you_want_end_this_chat": "Je i sigurt që dëshiron ta përfundosh këtë bisedë?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Je i sigurt që dëshiron t'i japësh fund kësaj chat dhe të kalosh departamentin?", - "Cancel": "Anuloj", - "Change": "ndryshim", - "Chat_ended": "Biseda përfundoi!", - "Choose_a_new_department": "Zgjidhni një departament të ri", - "Close_menu": "Mbyllni menunë", - "Conversation_finished": "biseda përfunduar", - "End_chat": "End chat", - "How_friendly_was_the_chat_agent": "Si friendly ishte agjenti chat?", - "How_knowledgeable_was_the_chat_agent": "Si i ditur ishte agjenti chat?", - "How_responsive_was_the_chat_agent": "Si përgjegjshme ishte agjenti chat?", - "How_satisfied_were_you_with_this_chat": "Si të kënaqur të ishin me kete chat?", - "Installation": "instalim", - "New_messages": "mesazhe të reja", - "No": "jo", - "Options": "Opsione", - "Please_answer_survey": "Ju lutem, ndalo një moment për t'iu përgjigjur një anketë të shpejtë në lidhje me këtë bisedë", - "Please_choose_a_department": "Ju lutemi zgjidhni një departament", - "Please_fill_name_and_email": "Ju lutemi plotësoni emrin dhe e-mail", - "Powered_by": "Mundësuar nga", - "Request_video_chat": "Kërkoni video chat", - "Select_a_department": "Zgjidh një departament", - "Switch_department": "Kaloni departamentin", - "Department_switched": "Departamenti kaloi", - "Send": "dërgoj", - "Skip": "Kalo", - "Start_Chat": "Fillo bisedën", - "Survey": "studim", - "Survey_instructions": "Vlerësoni çdo pyetje në përputhje me kënaqësinë tuaj, 1 të thotë që ju jeni plotësisht të pakënaqur dhe 5 të thotë që ju jeni të kënaqur plotësisht.", - "Thank_you_for_your_feedback": "Faleminderit për komentin tuaj", - "Thanks_We_ll_get_back_to_you_soon": "Faleminderit! Ne do të kthehemi tek ju së shpejti.", - "transcript_sent": "Transkript i dërguar", - "Type_your_email": "Lloji email-it tuaj", - "Type_your_message": "Shkruani mesazhin tuaj", - "Type_your_name": "Shkruani emrin tuaj", - "Upload_file_question": "Ngarko skedar?", - "User_joined": "User bashkua", - "User_left": "majtë User", - "We_are_not_online_right_now_please_leave_a_message": "Ne nuk jemi në linjë tani. Lëreni një mesazh.", - "We_are_offline_Sorry_for_the_inconvenience": "Ne jemi offline. Na vjen keq për bezdisjen.", - "Yes": "po", - "You": "ju", - "You_must_complete_all_fields": "Ju duhet të plotësoni të gjitha fushat" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/sr.i18n.json b/packages/rocketchat-livechat/.app/i18n/sr.i18n.json deleted file mode 100644 index 505f669bf27..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/sr.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Додатне Контакт", - "Appearance": "изглед", - "Are_you_sure_do_you_want_end_this_chat": "Да ли сте сигурни да желите да завршите овај цхат?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Да ли сте сигурни да желите да завршите са овом ћаскањем и одељком за пребацивање?", - "Cancel": "Отказати", - "Change": "Промени", - "Chat_ended": "Цхат је завршен!", - "Choose_a_new_department": "Изаберите ново одељење", - "Close_menu": "Затвори мени", - "Conversation_finished": "разговор завршио", - "End_chat": "Крај ћаскања", - "How_friendly_was_the_chat_agent": "Како пријатељски је био агент ћаскање?", - "How_knowledgeable_was_the_chat_agent": "Како знања је агент ћаскање?", - "How_responsive_was_the_chat_agent": "Како реагују био агент ћаскање?", - "How_satisfied_were_you_with_this_chat": "Колико сте задовољни су са овом разговору?", - "Installation": "инсталација", - "New_messages": "Нове поруке", - "No": "Ne", - "Options": "Опције", - "Please_answer_survey": "Одвојите мало времена да одговори брзо анкету о овом разговору", - "Please_choose_a_department": "Молимо вас да одаберете одељење", - "Please_fill_name_and_email": "Молимо вас да попуните име и е-маил", - "Powered_by": "Покреће га", - "Request_video_chat": "Захтевајте видео ћаскање", - "Select_a_department": "Изаберите одељење", - "Switch_department": "Прекидач одељења", - "Department_switched": "Одељење је промењено", - "Send": "послати", - "Skip": "прескочити", - "Start_Chat": "Почетак Чат", - "Survey": "Анкета", - "Survey_instructions": "Рате свако питање по својој задовољство, 1 значи да су потпуно незадовољни и 5 значи да сте потпуно задовољни.", - "Thank_you_for_your_feedback": "Хвала на повратним информацијама", - "Thanks_We_ll_get_back_to_you_soon": "Хвала! Ми ћемо вам се јавити ускоро.", - "transcript_sent": "Транскрипт је послат", - "Type_your_email": "Унесите вашу емаил", - "Type_your_message": "Унесите поруку", - "Type_your_name": "Типе иоур наме", - "Upload_file_question": "Отпреми датотеку?", - "User_joined": "Корисник се придружио", - "User_left": "Корисник лево", - "We_are_not_online_right_now_please_leave_a_message": "Тренутно нисмо на мрежи. Молимо оставите поруку.", - "We_are_offline_Sorry_for_the_inconvenience": "Ми смо онлине. Жао због непријатности.", - "Yes": "Јесте", - "You": "ти", - "You_must_complete_all_fields": "Морате да попуните сва поља" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/sv.i18n.json b/packages/rocketchat-livechat/.app/i18n/sv.i18n.json deleted file mode 100644 index 0ed746bccf1..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/sv.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "Ytterligare feedback", - "Appearance": "Utseende", - "Are_you_sure_do_you_want_end_this_chat": "Är du säker på att du vill avsluta denna chatt?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Är du säker på att du vill avsluta denna chatt och byta avdelning?", - "Are_you_sure_do_you_want_switch_the_department": "Är du säker på att du vill byta avdelning?", - "Cancel": "Avbryt", - "Change": "Ändra", - "Chat_ended": "Chatt avslutad!", - "Connecting_to_an_Agent": "Ansluter till en handläggare", - "Choose_a_new_department": "Välj en ny avdelning", - "Close_menu": "Stäng meny", - "Conversation_finished": "Konversation avslutad", - "End_chat": "Avsluta chatt", - "How_friendly_was_the_chat_agent": "Hur vänlig var chattagenten?", - "How_knowledgeable_was_the_chat_agent": "Hur kunnig var chattagenten?", - "How_responsive_was_the_chat_agent": "Hur snabb var chattagenten?", - "How_satisfied_were_you_with_this_chat": "Hur nöjd var du med denna chatt?", - "Installation": "Installation", - "New_messages": "Nya meddelanden", - "New_livechat_in_queue": "Ny chatt i kön", - "No": "Nej", - "Options": "Inställningar", - "Please_answer_survey": "Vänligen ta en stund för att svara på en snabb enkät om chatten.", - "Please_choose_a_department": "Vänligen välj en avdelning", - "Please_fill_name_and_email": "Vänligen fyll i namn och e-postadress", - "Powered_by": "Drivs med hjälp av", - "Request_video_chat": "Begär videochatt", - "Select_a_department": "Välj en avdelning", - "Switch_department": "Byt avdelning", - "Department_switched": "Avdelning bytt", - "Send": "Skicka", - "Skip": "Hoppa över", - "Start_Chat": "Starta chatt", - "Survey": "Enkät", - "Survey_instructions": "Betygsätt varje fråga efter hur nöjd du är med svaret, 1 betyder att du inte alls är nöjd och 5 betyder att du är helt nöjd.", - "Thank_you_for_your_feedback": "Tack för din feedback", - "Thanks_We_ll_get_back_to_you_soon": "Tack! Vi återkommer till dig så snart vi kan.", - "transcript_sent": "Kopia är skickad", - "Type_your_email": "Skriv din e-post", - "Type_your_message": "Skriv in ditt meddelande", - "Type_your_name": "Skriv in ditt namn", - "Upload_file_question": "Ladda upp fil?", - "User_joined": "Användare ansluten", - "User_left": "Användare lämnade", - "We_are_not_online_right_now_please_leave_a_message": "Vi är inte online just nu. Lämna gärna ett medelande.", - "We_are_offline_Sorry_for_the_inconvenience": "Vi är offline. Vi beklagar olägenheten.", - "Yes": "Ja", - "You": "Du", - "You_must_complete_all_fields": "Du måste fylla i alla fält" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json b/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json deleted file mode 100644 index 8024d87cc39..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "கூடுதல் கருத்துத்", - "Appearance": "தோற்றம்", - "Are_you_sure_do_you_want_end_this_chat": "நிச்சயமாக இந்த அரட்டை முடிக்க வேண்டுமா?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "நிச்சயமாக இந்த அரட்டை மற்றும் துறையைத் துண்டிக்க விரும்புகிறீர்களா?", - "Cancel": "ரத்து", - "Change": "மாற்றம்", - "Chat_ended": "அரட்டை முடிந்தது!", - "Choose_a_new_department": "ஒரு புதிய துறையைத் தேர்வு செய்க", - "Close_menu": "மெனுவை மூடு", - "Conversation_finished": "உரையாடலை முடித்தேன்", - "End_chat": "இறுதி அரட்டை", - "How_friendly_was_the_chat_agent": "அரட்டை முகவர் எப்படி நட்பு இருந்தது?", - "How_knowledgeable_was_the_chat_agent": "அரட்டை முகவர் எப்படி அறிவு இருந்தது?", - "How_responsive_was_the_chat_agent": "அரட்டை முகவர் எப்படி பதிலளிக்க இருந்தது?", - "How_satisfied_were_you_with_this_chat": "இந்த அரட்டை, எவ்வளவு திருப்தியாக இருந்தன?", - "Installation": "நிறுவல்", - "New_messages": "புதிய செய்திகளை", - "No": "இல்லை", - "Options": "விருப்பங்கள்", - "Please_answer_survey": "இந்த அரட்டை பற்றி ஒரு விரைவான கணக்கெடுப்பு பதில் ஒரு கணம் எடுத்து கொள்ளவும்", - "Please_choose_a_department": "ஒரு துறையைத் தேர்வு செய்க", - "Please_fill_name_and_email": "பெயர் மற்றும் மின்னஞ்சல் பூர்த்தி செய்து", - "Powered_by": "மூலம் இயக்கப்படுகிறது", - "Request_video_chat": "வீடியோ அரட்டை கோரிக்கை", - "Select_a_department": "துறையைத் தேர்ந்தெடுக்கவும்", - "Switch_department": "துறையை மாற்று", - "Department_switched": "திணைக்களம் மாறியது", - "Send": "அனுப்பு", - "Skip": "செல்க", - "Start_Chat": "தொடக்க சேட்", - "Survey": "சர்வே", - "Survey_instructions": "உங்கள் திருப்தி படி ஒவ்வொரு கேள்விக்கும் விகிதம், 1 நீங்கள் முற்றிலும் திருப்தி இருக்கும் பொருள் மற்றும் 5 நீங்கள் முழுமையாக திருப்தி அடைந்த பொருள்.", - "Thank_you_for_your_feedback": "உங்கள் கருத்துக்கு நன்றி", - "Thanks_We_ll_get_back_to_you_soon": "நன்றி! நாம் விரைவில் நீங்கள் திரும்ப கிடைக்கும்.", - "transcript_sent": "டிரான்ஸ்கிரிப்ட் அனுப்பப்பட்டது", - "Type_your_email": "உங்கள் மின்னஞ்சல் முகவரியை உள்ளிடவும்", - "Type_your_message": "உங்கள் செய்தியைத் தட்டச்சு", - "Type_your_name": "உங்கள் பெயரை தட்டச்சு", - "Upload_file_question": "கோப்பை பதிவேற்ற?", - "User_joined": "பயனர் சேர்ந்தார்", - "User_left": "பயனர் இடது", - "We_are_not_online_right_now_please_leave_a_message": "இப்போது நாங்கள் ஆன்லைனில் இல்லை. தயவுசெய்து, ஒரு செய்தியை விடு.", - "We_are_offline_Sorry_for_the_inconvenience": "நாம் லைனில் உள்ளனர். சிரமத்திற்கு வருந்துகிறோம்.", - "Yes": "ஆமாம்", - "You": "நீங்கள்", - "You_must_complete_all_fields": "நீங்கள் அனைத்து துறைகள் முடிக்க வேண்டும்" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json b/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json deleted file mode 100644 index 4815bd9dfda..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "ข้อเสนอแนะเพิ่มเติม", - "Appearance": "การปรากฏ", - "Are_you_sure_do_you_want_end_this_chat": "คุณแน่ใจหรือไม่ว่าต้องการสิ้นสุดการแชทนี้", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "คุณแน่ใจหรือไม่ว่าต้องการยุติการแชทและเปลี่ยนแผนกนี้", - "Cancel": "ยกเลิก", - "Change": "เปลี่ยนแปลง", - "Chat_ended": "แชทสิ้นสุดแล้ว!", - "Choose_a_new_department": "เลือกแผนกใหม่", - "Close_menu": "ปิดเมนู", - "Conversation_finished": "สนทนาเสร็จแล้ว", - "End_chat": "จบการแชท", - "How_friendly_was_the_chat_agent": "มิตรสนทนาเป็นอย่างไร?", - "How_knowledgeable_was_the_chat_agent": "ความรู้เป็นตัวแทนการแชทได้อย่างไร", - "How_responsive_was_the_chat_agent": "แชแนลการแชทเป็นอย่างไร", - "How_satisfied_were_you_with_this_chat": "คุณพอใจกับการแชทนี้มากแค่ไหน?", - "Installation": "การติดตั้ง", - "New_messages": "ข้อความใหม่", - "No": "ไม่", - "Options": "ตัวเลือก", - "Please_answer_survey": "โปรดสละเวลาสักครู่เพื่อตอบแบบสำรวจสั้น ๆ เกี่ยวกับการแชทนี้", - "Please_choose_a_department": "โปรดเลือกแผนก", - "Please_fill_name_and_email": "กรุณากรอกชื่อและอีเมล์", - "Powered_by": "ขับเคลื่อนด้วย", - "Request_video_chat": "ขอวิดีโอแชท", - "Select_a_department": "เลือกแผนก", - "Switch_department": "เปลี่ยนแผนก", - "Department_switched": "แผนกเปลี่ยนแล้ว", - "Send": "ส่ง", - "Skip": "กระโดด", - "Start_Chat": "เริ่มแชท", - "Survey": "สำรวจ", - "Survey_instructions": "ให้คะแนนคำถามแต่ละข้อตามความพึงพอใจของคุณ 1 หมายความว่าคุณไม่พอใจอย่างสมบูรณ์และ 5 หมายความว่าคุณพอใจอย่างสมบูรณ์", - "Thank_you_for_your_feedback": "ขอบคุณสำหรับความคิดเห็นของคุณ", - "Thanks_We_ll_get_back_to_you_soon": "ขอบคุณ! เราจะติดต่อกลับโดยเร็วที่สุด", - "transcript_sent": "บันทึกการส่งแล้ว", - "Type_your_email": "พิมพ์อีเมลของคุณ", - "Type_your_message": "พิมพ์ข้อความของคุณ", - "Type_your_name": "พิมพ์ชื่อของคุณ", - "Upload_file_question": "อัปโหลดไฟล์หรือไม่?", - "User_joined": "ผู้ใช้เข้าร่วม", - "User_left": "เหลือผู้ใช้แล้ว", - "We_are_not_online_right_now_please_leave_a_message": "เรายังไม่ออนไลน์ในขณะนี้ กรุณาฝากข้อความไว้", - "We_are_offline_Sorry_for_the_inconvenience": "เราออฟไลน์ ขออภัยในความไม่สะดวก.", - "Yes": "ใช่", - "You": "คุณ", - "You_must_complete_all_fields": "คุณต้องกรอกข้อมูลทั้งหมดให้ครบถ้วน" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/tr.i18n.json b/packages/rocketchat-livechat/.app/i18n/tr.i18n.json deleted file mode 100644 index 75e2b3e37aa..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/tr.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "Ek Geri Bildirim", - "Appearance": "Görünüm", - "Are_you_sure_do_you_want_end_this_chat": "Bu sohbeti kapatmak istediğinize emin misiniz?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Bu sohbeti kapatıp bölüm değiştirmek istediğinize emin misiniz?", - "Are_you_sure_do_you_want_switch_the_department": "Departmanı değiştirmek istediğinden emin misin?", - "Cancel": "Vazgeç", - "Change": "Değiştir", - "Chat_ended": "Sohbet bitti!", - "Connecting_to_an_Agent": "Temsilciye bağlanılıyor", - "Choose_a_new_department": "Yeni bölüm seç", - "Close_menu": "Menüyü Kapat", - "Conversation_finished": "Konuşma bitti", - "End_chat": "Sohbeti bitir", - "How_friendly_was_the_chat_agent": "Müşteri temsilcisi ne kadar dost canlısıydı?", - "How_knowledgeable_was_the_chat_agent": "Müşteri temsilcisi ne kadar bilgiliydi?", - "How_responsive_was_the_chat_agent": "Müşteri temsilcisi sorularınıza ne kadar cevap verdi?", - "How_satisfied_were_you_with_this_chat": "Bu sohbetten ne kadar memnun kaldınız?", - "Installation": "Kurulum", - "New_messages": "Yeni iletiler", - "New_livechat_in_queue": "Sıradaki yeni sohbet", - "No": "Hayır", - "Options": "Seçenekler", - "Please_answer_survey": "Lütfen bu sohbet hakkında hızlı bir anket yapmak için bir dakikanızı ayırın", - "Please_choose_a_department": "Lütfen bir bölüm seçin", - "Please_fill_name_and_email": "Lütfen ad ve e-posta giriniz", - "Please_wait_for_the_next_available_agent": "Lütfen uygun olan bir sonraki temsilciyi bekleyin.", - "Powered_by": "Tarafından Desteklenmektedir", - "Request_video_chat": "Görüntülü görüşme isteği gönder", - "Select_a_department": "Departman seç", - "Switch_department": "Bölüm değiştir", - "Department_switched": "Bölüm değiştirildi", - "Send": "Gönder", - "Skip": "Atla", - "Start_Chat": "Sohbete Başla", - "Survey": "Anket", - "Survey_instructions": "Her soruya memnuniyetinize göre cevap verin. Hiç memnun değilseniz 1, çok memnunsanız 5 verin.", - "Thank_you_for_your_feedback": "Görüşleriniz için teşekkür ederiz", - "Thanks_We_ll_get_back_to_you_soon": "Teşekkürler! Size yakın zamanda döneceğiz.", - "transcript_sent": "Tanskript Gönderildi", - "Type_your_email": "E-postanızı yazın", - "Type_your_message": "İletinizi yazın", - "Type_your_name": "Adınızı yazın", - "Upload_file_question": "Dosya yükle", - "User_joined": "Kullanıcı katıldı", - "User_left": "Kullanıcı ayrıldı", - "We_are_not_online_right_now_please_leave_a_message": "Şu anda çevrimiçi değiliz. Lütfen bir ileti bırakın.", - "We_are_offline_Sorry_for_the_inconvenience": "Çevrimdışıyız. Uygunsuzluktan dolayı özür dileriz.", - "Yes": "Evet", - "You": "Siz", - "You_must_complete_all_fields": "Tüm alanları doldurmalısınız" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/ug.i18n.json b/packages/rocketchat-livechat/.app/i18n/ug.i18n.json deleted file mode 100644 index 07d7757bd86..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/ug.i18n.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "Additional_Feedback": "باشقا ئىنكاسلار ", - "Appearance": "سىرتقى يۈزى", - "Conversation_finished": "سۆھبەتلىشىش ئاخىرلاشتى", - "How_friendly_was_the_chat_agent": " توردىكى مۇلازىمنىڭ دوستانە بولۇش دەرىجىسى قانداق ؟", - "How_knowledgeable_was_the_chat_agent": " توردىكى مۇلازىمنىڭ بىلىم زاپىسى قانداق ؟", - "How_responsive_was_the_chat_agent": " توردىكى مۇلازىمنىڭ ئىنكاس سۈرئىتى قانداق ؟", - "How_satisfied_were_you_with_this_chat": " سىز بۇقېتىملىق پاراڭلىشىشتىن رازىمۇ ؟", - "Installation": "قاچىلاش", - "New_messages": "يېڭى ئۇچۇر", - "Please_answer_survey": " نەچچە مىنۇت سەرپ قىلىپ بۇ قېتىمقى تەسىراتىڭىزنى ئىنكاس قىلىڭ ", - "Please_fill_name_and_email": "ئىسمىڭىز ۋە ئىلخەت ئادرېسىڭىزنى تولدۇرۇڭ .", - "Powered_by": "تەمىنلەش:", - "Select_a_department": "بۆلۈمدىن بىرنى تاللاڭ", - "Send": "يوللاش", - "Skip": "سەكرەپ ئۆتۈش", - "Start_Chat": "پاراڭلىشىشنى باشلاش", - "Survey": "تەكشۈرۈش", - "Survey_instructions": "سىزنىڭ قانائەتلىشىش دەرىجىڭىزگە قاراپ نومۇر بېرىڭ ، 1 ئىنتايىن رازى ئەمەسگە ۋەكىللىك قىلىدۇ ، 5 ئىنتايىن رازىغا ۋەكىللىك قىلىدۇ .", - "Thank_you_for_your_feedback": "سىزنىڭ ئىنكاسىڭىزغا ئىنتايىن رەھمەت ", - "Thanks_We_ll_get_back_to_you_soon": "رەھمەت ! بىزسىزگە پات ئارىدا ئۇچۇر قايتۇرىمىز.", - "Type_your_email": "ئىلخەت ئادرېسىڭىزنى تولدۇرۇڭ .", - "Type_your_message": "قالدۇرماقچى بولغان سۆزىڭىزنى تولدۇرۇڭ", - "Type_your_name": " ئىسىم-فامىلىڭىزنى قالدۇرۇڭ.", - "Upload_file_question": "ھۆججەتنى چىقىرىش؟", - "User_joined": "ئەزا ئاللىبۇرۇن قېتىلدى", - "User_left": "ئەزا ئاللىبۇرۇن ئايرىلدى", - "We_are_offline_Sorry_for_the_inconvenience": "ھازىر توردا ئادەم يوق ، قولايسىزلىق ئېلىپ كېلىنگەن بولسا چۈشۈنۈشۈڭىزنى ئۈمىد قىلىمىز .", - "You_must_complete_all_fields": " سىز چوقۇم ھەممە خەت بۆلەكلىرىنى تولدۇرۇشىڭىز كېرەك " -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/uk.i18n.json b/packages/rocketchat-livechat/.app/i18n/uk.i18n.json deleted file mode 100644 index 0d715f41365..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/uk.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Додатковий зворотній зв'язок", - "Appearance": "Зовнішній вигляд", - "Are_you_sure_do_you_want_end_this_chat": "Ви дійсно бажаєте закінчити чат? ", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ви впевнені, що хочете закінчити цей чат та змінити відділ?", - "Cancel": "Скасувати", - "Change": "Змінити", - "Chat_ended": "Чат закінчено!", - "Choose_a_new_department": "Виберіть новий відділ", - "Close_menu": "Закрити меню", - "Conversation_finished": "Розмову закінчено", - "End_chat": "Закінчити чат", - "How_friendly_was_the_chat_agent": "Чи дружній був співробітник?", - "How_knowledgeable_was_the_chat_agent": "Наскільки обізнаним був співробітник чату?", - "How_responsive_was_the_chat_agent": "Наскільки чуйний був співробітник чату?", - "How_satisfied_were_you_with_this_chat": "Наскільки ви задоволені використанням цього чату?", - "Installation": "Встановлення", - "New_messages": "Нові повідомлення", - "No": "Ні", - "Options": "Параметри", - "Please_answer_survey": "Будь ласка, знайдіть час, щоб відповісти на декілька питань щодо цього чату", - "Please_choose_a_department": "Будь ласка, виберіть відділ", - "Please_fill_name_and_email": "Заповніть, будь ласка, ім'я та адресу електронної пошти", - "Powered_by": "За підтримки", - "Request_video_chat": "Запит чату з відео", - "Select_a_department": "Виберіть відділ", - "Switch_department": "Змінити відділ", - "Department_switched": "Відділ змінено", - "Send": "Надіслати", - "Skip": "Пропустити", - "Start_Chat": "Розпочати чат", - "Survey": "Опитування", - "Survey_instructions": "Оцінити кожне питання відповідно до ваших задоволення, 1 означає, що ви повністю незадоволеним і 5 означає, що ви повністю задоволені.", - "Thank_you_for_your_feedback": "Спасибі за ваш відгук", - "Thanks_We_ll_get_back_to_you_soon": "Дякую! Ми зв'яжемося з вами найближчим часом.", - "transcript_sent": "Транскрипцію відправлено", - "Type_your_email": "Введіть адресу електронної пошти", - "Type_your_message": "текст повідомлення", - "Type_your_name": "Введіть ваше ім'я", - "Upload_file_question": "Завантажити файл?", - "User_joined": "Користувач приєднався", - "User_left": "Користувач вийшов", - "We_are_not_online_right_now_please_leave_a_message": "Ми зараз не в мережі. Будь ласка, залиште повідомлення.", - "We_are_offline_Sorry_for_the_inconvenience": "Ми в автономному режимі. Вибачте за незручності.", - "Yes": "Так", - "You": "Ви", - "You_must_complete_all_fields": "Ви повинні заповнити всі поля" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json b/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json deleted file mode 100644 index 6638daab7c6..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "Additional_Feedback": "Phản hồi bổ sung", - "Appearance": "Xuất hiện", - "Are_you_sure_do_you_want_end_this_chat": "Bạn có chắc chắn muốn kết thúc cuộc trò chuyện này?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Bạn có chắc chắn muốn kết thúc cuộc trò chuyện và bộ phận chuyển đổi này?", - "Cancel": "hủy bỏ", - "Change": "Thay đổi", - "Chat_ended": "Trò chuyện kết thúc!", - "Choose_a_new_department": "Chọn một bộ phận mới", - "Close_menu": "Đóng trình đơn", - "Conversation_finished": "Trò chuyện kết thúc", - "End_chat": "Kết thúc cuộc trò chuyện", - "How_friendly_was_the_chat_agent": "Làm thế nào thân thiện là các đại lý trò chuyện?", - "How_knowledgeable_was_the_chat_agent": "Làm thế nào hiểu được các đại lý trò chuyện?", - "How_responsive_was_the_chat_agent": "Làm thế nào đáp ứng được đại lý trò chuyện?", - "How_satisfied_were_you_with_this_chat": "Bạn cảm thấy hài lòng với cuộc trò chuyện này như thế nào?", - "Installation": "Cài đặt", - "New_messages": "Các tin nhắn mới", - "No": "Không", - "Options": "Tùy chọn", - "Please_answer_survey": "Vui lòng dành một chút thời gian để trả lời một cuộc khảo sát nhanh về trò chuyện này", - "Please_choose_a_department": "Vui lòng chọn một phòng ban", - "Please_fill_name_and_email": "Vui lòng điền tên và email", - "Powered_by": "Được hỗ trợ bởi", - "Request_video_chat": "Yêu cầu trò chuyện video", - "Select_a_department": "Chọn một bộ phận", - "Switch_department": "Bộ phận chuyển mạch", - "Department_switched": "Sở chuyển", - "Send": "Gửi", - "Skip": "Bỏ qua", - "Start_Chat": "Bắt đầu trò chuyện", - "Survey": "Khảo sát", - "Survey_instructions": "Đánh giá mỗi câu hỏi theo sự hài lòng của bạn, 1 nghĩa là bạn hoàn toàn không hài lòng và 5 có nghĩa là bạn hoàn toàn hài lòng.", - "Thank_you_for_your_feedback": "Cảm ơn phản hôi của bạn", - "Thanks_We_ll_get_back_to_you_soon": "Cảm ơn! Chúng tôi sẽ sớm liên hệ lại với bạn.", - "transcript_sent": "Bản ghi đã gửi", - "Type_your_email": "Nhập email của bạn", - "Type_your_message": "Nhập tin nhắn của bạn", - "Type_your_name": "Gõ tên của bạn", - "Upload_file_question": "Cập nhật dử liệu?", - "User_joined": "Người dùng tham gia", - "User_left": "Người dùng còn lại", - "We_are_not_online_right_now_please_leave_a_message": "Chúng tôi không trực tuyến ngay bây giờ. Xin vui lòng, để lại tin nhắn.", - "We_are_offline_Sorry_for_the_inconvenience": "Chúng tôi đang offline. Xin lỗi vì sự bất tiện.", - "Yes": "Vâng", - "You": "Bạn", - "You_must_complete_all_fields": "Bạn phải hoàn thành tất cả các lĩnh vực" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json deleted file mode 100644 index 04f335bb31d..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Additional_Feedback": "其他意見", - "Appearance": "外觀", - "Are_you_sure_do_you_want_end_this_chat": "你确定要结束这个聊天吗?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "你确定要结束这个聊天并切换部门吗?", - "Cancel": "取消", - "Change": "變更", - "Chat_ended": "聊天已結束!", - "Connecting_to_an_Agent": "正在连接到客服", - "Choose_a_new_department": "选择一个新部门", - "Close_menu": "關閉選單", - "Conversation_finished": "對話已結束", - "End_chat": "結束聊天", - "How_friendly_was_the_chat_agent": "聊天代理有多方便?", - "How_knowledgeable_was_the_chat_agent": "聊天代理的知识如何?", - "How_responsive_was_the_chat_agent": "聊天代理的响应如何?", - "How_satisfied_were_you_with_this_chat": "你对这个聊天感到满意吗?", - "Installation": "安裝", - "New_messages": "新訊息", - "No": "否", - "Options": "選項", - "Please_answer_survey": "请花点时间回答有关此聊天的快速调查", - "Please_choose_a_department": "請選擇一個部門", - "Please_fill_name_and_email": "請輸入姓名及 Email", - "Powered_by": "Powered by", - "Request_video_chat": "請求視像通訊", - "Select_a_department": "選擇一個部門", - "Switch_department": "切换部门", - "Department_switched": "部门切换", - "Send": "傳送", - "Skip": "略過", - "Start_Chat": "开始聊天", - "Survey": "問卷", - "Survey_instructions": "根据您的满意度对每个问题进行评分,1表示您完全不满意,5表示您完全满意。", - "Thank_you_for_your_feedback": "感谢您的反馈意见", - "Thanks_We_ll_get_back_to_you_soon": "谢谢!我们会尽快回复您。", - "transcript_sent": "成绩单发送", - "Type_your_email": "输入你的邮箱", - "Type_your_message": "输入你的讯息", - "Type_your_name": "输入你的名字", - "Upload_file_question": "上传文件?", - "User_joined": "用户加入", - "User_left": "用户离开了", - "We_are_not_online_right_now_please_leave_a_message": "我们现在不在线。请留言。", - "We_are_offline_Sorry_for_the_inconvenience": "我们在线。抱歉给你带来不便。", - "Yes": "对", - "You": "您", - "You_must_complete_all_fields": "您必須填寫所有欄位" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json deleted file mode 100644 index a3a63dcd809..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Additional_Feedback": "其他意見", - "Appearance": "外觀", - "Are_you_sure_do_you_want_end_this_chat": "您確定要結束聊天嗎?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "您確定要結束聊天並更換部門嗎?", - "Are_you_sure_do_you_want_switch_the_department": "你確定要切換部門嗎?", - "Cancel": "取消", - "Change": "變更", - "Chat_ended": "聊天已結束!", - "Connecting_to_an_Agent": "正在連接到客服", - "Choose_a_new_department": "選擇一個新的部門", - "Close_menu": "關閉選單", - "Conversation_finished": "對話已結束", - "End_chat": "結束聊天", - "How_friendly_was_the_chat_agent": "線上客服的親切度如何?", - "How_knowledgeable_was_the_chat_agent": "線上客服的專業度如何?", - "How_responsive_was_the_chat_agent": "線上客服的積極度如何?", - "How_satisfied_were_you_with_this_chat": "您對本次聊天是否滿意?", - "Installation": "安裝", - "New_messages": "新訊息", - "New_livechat_in_queue": "隊列中的新聊天", - "No": "否", - "Options": "選項", - "Please_answer_survey": "請花一點時間來協助完成本次聊天的小問卷", - "Please_choose_a_department": "請選擇部門", - "Please_fill_name_and_email": "請輸入名字和電子郵件", - "Powered_by": "Powered by", - "Request_video_chat": "請求視訊聊天", - "Select_a_department": "選擇一個部門", - "Switch_department": "更換部門", - "Department_switched": "部門已更換", - "Send": "傳送", - "Skip": "略過", - "Start_Chat": "開始聊天", - "Survey": "問卷", - "Survey_instructions": "根據您的滿意度回答題目,1表示完全不滿意,5表示完全滿意。", - "Thank_you_for_your_feedback": "感謝您的寶貴意見", - "Thanks_We_ll_get_back_to_you_soon": "感謝!我們會盡快回覆您。", - "transcript_sent": "對話記錄已寄出", - "Type_your_email": "鍵入您的電子郵件", - "Type_your_message": "輸入您的留言", - "Type_your_name": "輸入您的姓名", - "Upload_file_question": "是否上傳檔案?", - "User_joined": "使用者已加入", - "User_left": "使用者已離開", - "We_are_not_online_right_now_please_leave_a_message": "我們現在不在線。請留言。", - "We_are_offline_Sorry_for_the_inconvenience": "離線中,造成您的不便請見諒。", - "Yes": "是", - "You": "你", - "You_must_complete_all_fields": "您必須填寫所有欄位" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/i18n/zh.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh.i18n.json deleted file mode 100644 index cb124057ecd..00000000000 --- a/packages/rocketchat-livechat/.app/i18n/zh.i18n.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Additional_Feedback": "其他反馈", - "Appearance": "外观", - "Are_you_sure_do_you_want_end_this_chat": "你确定要结束这个聊天?", - "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "你确定你要结束这个聊天并且切换部门?", - "Are_you_sure_do_you_want_switch_the_department": "你确定要切换部门吗?", - "Cancel": "取消", - "Change": "更改", - "Chat_ended": "对话已结束!", - "Connecting_to_an_Agent": "正在连接到客服", - "Choose_a_new_department": "选择一个新部门", - "Close_menu": "关闭菜单", - "Conversation_finished": "会话已结束", - "End_chat": "结束聊天", - "How_friendly_was_the_chat_agent": "在线客服的友善度如何?", - "How_knowledgeable_was_the_chat_agent": "在线客服的知识储备如何?", - "How_responsive_was_the_chat_agent": "在线客服的反应速度如何?", - "How_satisfied_were_you_with_this_chat": "您对这次聊天是否满意?", - "Installation": "安装", - "New_messages": "新消息", - "New_livechat_in_queue": "队列中新聊天", - "No": "否", - "Options": "选项", - "Please_answer_survey": "请花几分钟来反馈这次交谈的体验", - "Please_choose_a_department": "请选择一个新部门", - "Please_fill_name_and_email": "请填写姓名和电子邮箱地址", - "Please_wait_for_the_next_available_agent": "请等待下一位可用客服。", - "Powered_by": "提供", - "Request_video_chat": "请求视频聊天", - "Select_a_department": "请选择一个部门", - "Switch_department": "切换部门", - "Department_switched": "部门切换", - "Send": "发送", - "Skip": "跳过", - "Start_Chat": "开始聊天", - "Survey": "调查", - "Survey_instructions": "请根据您的满意程度给每个问题打分,1 代表非常不满意,5 代表非常满意。", - "Thank_you_for_your_feedback": "感谢您的反馈", - "Thanks_We_ll_get_back_to_you_soon": "谢谢!我们会尽快回复您。", - "transcript_sent": "录音发送", - "Type_your_email": "输入您的电子邮箱地址", - "Type_your_message": "输入您的消息", - "Type_your_name": "输入您的姓名", - "Upload_file_question": "上传文件?", - "User_joined": "用户已加入", - "User_left": "用户已离开", - "We_are_not_online_right_now_please_leave_a_message": "我们现在不在线。请留言。", - "We_are_offline_Sorry_for_the_inconvenience": "我们正处在离线状态。带来不便请您谅解。", - "Yes": "是", - "You": "你", - "You_must_complete_all_fields": "您必须填写所有字段" -} \ No newline at end of file diff --git a/packages/rocketchat-livechat/.app/imports/client/visitor.js b/packages/rocketchat-livechat/.app/imports/client/visitor.js deleted file mode 100644 index 836333f6be1..00000000000 --- a/packages/rocketchat-livechat/.app/imports/client/visitor.js +++ /dev/null @@ -1,181 +0,0 @@ -/* globals Commands, Livechat, UserPresence */ -import { Meteor } from 'meteor/meteor'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Random } from 'meteor/random'; -import { Session } from 'meteor/session'; - -const msgStream = new Meteor.Streamer('room-messages'); - -export default { - id: new ReactiveVar(null), - token: new ReactiveVar(null), - room: new ReactiveVar(null), - data: new ReactiveVar(null), - roomToSubscribe: new ReactiveVar(null), - roomSubscribed: null, - connected: null, - - register() { - if (!localStorage.getItem('visitorToken')) { - localStorage.setItem('visitorToken', Random.id()); - } - - this.token.set(localStorage.getItem('visitorToken')); - }, - - reset() { - msgStream.unsubscribe(this.roomSubscribed); - - this.id.set(null); - this.token.set(null); - this.room.set(null); - this.data.set(null); - this.roomToSubscribe.set(null); - this.roomSubscribed = null; - - Livechat.room = null; - Livechat.department = null; - Livechat.agent = null; - Livechat.guestName = null; - Livechat.guestEmail = null; - }, - - getId() { - return this.id.get(); - }, - - setId(id) { - return this.id.set(id); - }, - - getData() { - return this.data.get(); - }, - - setData(data) { - this.data.set(data); - }, - - getToken() { - return this.token.get(); - }, - - getDepartment() { - const data = this.getData(); - return data && data.department; - }, - - setToken(token) { - if (!token || token === this.token.get()) { - return; - } - - this.reset(); - - localStorage.setItem('visitorToken', token); - this.token.set(token); - - Meteor.call('livechat:loginByToken', token, (err, result) => { - if (!result) { - return; - } - - if (result._id) { - this.setId(result._id); - return result._id; - } - }); - }, - - setName(name) { - Livechat.guestName = name; - - if (!this.getId()) { - return; - } - - const data = { - token: this.getToken(), - name, - }; - - Meteor.call('livechat:registerGuest', data); - }, - - setEmail(email) { - Livechat.guestEmail = email; - - if (!this.getId()) { - return; - } - - const data = { - token: this.getToken(), - email, - }; - - Meteor.call('livechat:registerGuest', data); - }, - - setRoom(rid) { - this.room.set(rid); - }, - - getRoom(createOnEmpty = false) { - let roomId = this.room.get(); - if (!roomId && createOnEmpty) { - roomId = Random.id(); - this.room.set(roomId); - } - - return roomId; - }, - - isSubscribed(roomId) { - return this.roomSubscribed === roomId; - }, - - subscribeToRoom(roomId) { - if (this.roomSubscribed && this.roomSubscribed === roomId) { - return; - } - - msgStream.unsubscribe(this.roomSubscribed); - - this.roomSubscribed = roomId; - - const msgTypesNotDisplayed = ['livechat_video_call', 'livechat_navigation_history', 'au']; - msgStream.on(roomId, { visitorToken: this.getToken() }, (msg) => { - if (msg.t === 'command') { - Commands[msg.msg] && Commands[msg.msg](); - } else if (!msgTypesNotDisplayed.includes(msg.t)) { - ChatMessage.upsert({ _id: msg._id }, msg); - - if (msg.t === 'livechat-close') { - parentCall('callback', 'chat-ended'); - } - - // notification sound - if (Session.equals('sound', true) && msg.u._id !== this.getId()) { - const audio = document.getElementById('chatAudioNotification'); - audio.play(); - } - } - }); - }, - - setConnected() { - if (this.connected) { - return; - } - const token = this.getToken(); - - this.connected = true; - Meteor.call('UserPresence:connect', token, { visitor: token }); - - Meteor.startup(function() { - UserPresence.awayTime = 300000; // 5 minutes - UserPresence.start(token); - }); - }, -}; diff --git a/packages/rocketchat-livechat/.app/package-lock.json b/packages/rocketchat-livechat/.app/package-lock.json deleted file mode 100644 index ffaf140c289..00000000000 --- a/packages/rocketchat-livechat/.app/package-lock.json +++ /dev/null @@ -1,1294 +0,0 @@ -{ - "name": "rocketchat-livechat", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", - "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "autolinker": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.8.1.tgz", - "integrity": "sha512-ZaoiP6SApAcbx+BeUSMJEvY02sl6pWKJzkmP0RvmD+b0Cp7Umev7PMgPGnDMe572/eAKbOgjAW/XsECfx7IFiQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "bcrypt": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.2.tgz", - "integrity": "sha512-kE1IaaRchCgdrmzQX/eBQKcsuL4jRHZ+O11sMvEUrI/HgFTQYAGvxlj9z7kb3zfFuwljQ5y8/NrbnXtgx5oJLg==", - "requires": { - "nan": "2.11.1", - "node-pre-gyp": "0.11.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "minipass": { - "version": "2.3.4", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - } - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true - }, - "needle": { - "version": "2.2.3", - "bundled": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.11.0", - "bundled": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true - }, - "npm-packlist": { - "version": "1.1.11", - "bundled": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true - } - } - }, - "readable-stream": { - "version": "2.3.5", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "sax": { - "version": "1.2.4", - "bundled": true - }, - "semver": { - "version": "5.5.1", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.0.3", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "tar": { - "version": "4.4.6", - "bundled": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "inherits-ex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/inherits-ex/-/inherits-ex-1.2.3.tgz", - "integrity": "sha512-DCZqD7BpjXqaha8IKcoAE3ZZr6Hi12ropV1h+3pBnirE14mNRwLuYySvYxUSBemTQ40SjAxPL8BTk2Xw/3IF9w==", - "requires": { - "xtend": "^4.0.0" - } - }, - "jquery": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.0.tgz", - "integrity": "sha512-ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "meteor-node-stubs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", - "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", - "requires": { - "assert": "^1.4.1", - "browserify-zlib": "^0.1.4", - "buffer": "^4.9.1", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.7", - "events": "^1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "^0.2.1", - "path-browserify": "0.0.0", - "process": "^0.11.9", - "punycode": "^1.4.1", - "querystring-es3": "^0.2.1", - "readable-stream": "^2.3.6", - "stream-browserify": "^2.0.1", - "stream-http": "^2.8.0", - "string_decoder": "^1.1.0", - "timers-browserify": "^1.4.2", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "requires": { - "util": "0.10.3" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "requires": { - "pako": "~0.2.0" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "requires": { - "inherits": "^2.0.1" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" - } - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "^7.0.5" - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "requires": { - "hash-base": "^2.0.0", - "inherits": "^2.0.1" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.3", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "string_decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", - "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "requires": { - "process": "~0.11.0" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "requires": { - "indexof": "0.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - } - } - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" - }, - "mime-type": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/mime-type/-/mime-type-3.0.7.tgz", - "integrity": "sha512-NyWtbAKERuLQIv+1jjEdWGrWepVlubZEW0fTs4K9T6UWW45iMBpgrwpP5GIl8/5trHLviOcQfA6zEth3T8WhNA==", - "requires": { - "media-typer": "^0.3.0", - "minimatch": "^3.0.4", - "path.js": "^1.0.7", - "util-ex": "^0.3.15" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" - }, - "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==" - }, - "path.js": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path.js/-/path.js-1.0.7.tgz", - "integrity": "sha1-fRNrYH3hm/2YugaIdJJih+ZTSTk=", - "requires": { - "escape-string-regexp": "^1.0.3", - "inherits-ex": "^1.1.2", - "util-ex": "^0.3.10" - } - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" - }, - "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=" - }, - "sweetalert2": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-7.29.2.tgz", - "integrity": "sha512-p+Zp2ly8vf9jGlzlUOmpVDZZoRHHatTHa3H3OnXVInQKJ5HHQr5Vg8XnledhS4Iih6TdSadbdGZ8Y4gE+OUgOQ==" - }, - "toastr": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", - "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", - "requires": { - "jquery": ">=1.12.0" - } - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, - "underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", - "requires": { - "sprintf-js": "^1.0.3", - "util-deprecate": "^1.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util-ex": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/util-ex/-/util-ex-0.3.15.tgz", - "integrity": "sha1-+SYc2hPEMn0HQMvme+Eife2LAFg=", - "requires": { - "inherits-ex": "^1.1.2", - "xtend": "^4.0.0" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - } - } -} diff --git a/packages/rocketchat-livechat/.app/package.json b/packages/rocketchat-livechat/.app/package.json deleted file mode 100644 index d28deaf472b..00000000000 --- a/packages/rocketchat-livechat/.app/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "rocketchat-livechat", - "version": "1.0.0", - "description": "Livechat app from Rocket.Chat", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": { - "name": "Rocket.Chat", - "url": "https://rocket.chat/" - }, - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/RocketChat/Rocket.Chat.git" - }, - "bugs": { - "url": "https://github.com/RocketChat/Rocket.Chat/issues", - "email": "support@rocket.chat" - }, - "dependencies": { - "@babel/runtime": "^7.2.0", - "autolinker": "^1.8.1", - "bcrypt": "^3.0.2", - "core-js": "^2.5.7", - "jquery": "^3.4.0", - "meteor-node-stubs": "^0.4.1", - "mime-db": "^1.37.0", - "mime-type": "^3.0.7", - "moment": "^2.22.2", - "sweetalert2": "^7.29.2", - "toastr": "^2.1.4", - "underscore": "^1.9.1", - "underscore.string": "^3.3.5" - } -} diff --git a/packages/rocketchat-livechat/.app/project-tap.i18n b/packages/rocketchat-livechat/.app/project-tap.i18n deleted file mode 100644 index 2c63c085104..00000000000 --- a/packages/rocketchat-livechat/.app/project-tap.i18n +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/packages/rocketchat-livechat/.app/run.sh b/packages/rocketchat-livechat/.app/run.sh deleted file mode 100755 index 39a51b3dc45..00000000000 --- a/packages/rocketchat-livechat/.app/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export DDP_DEFAULT_CONNECTION_URL=http://localhost:3000 -export MONGO_URL=mongodb://localhost:27017 -meteor -p 5000 diff --git a/packages/rocketchat-livechat/package.js b/packages/rocketchat-livechat/package.js index 68044479245..a7645fe8e39 100644 --- a/packages/rocketchat-livechat/package.js +++ b/packages/rocketchat-livechat/package.js @@ -18,24 +18,6 @@ Package.registerBuildPlugin({ }); Package.onUse(function(api) { - api.use([ - 'ecmascript', - 'webapp', - 'autoupdate', - 'konecty:user-presence', - 'kadira:flow-router', - 'kadira:blaze-layout', - 'templating', - 'http', - 'check', - 'mongo', - 'ddp-rate-limiter', - 'tracker', - 'less', - ]); // livechat app api.addAssets('assets/demo.html', 'client'); - // DEPRECATED - api.addAssets('assets/rocket-livechat.js', 'client'); // this file is still added to not break currently installed livechat widgets - api.addAssets('assets/rocketchat-livechat.min.js', 'client'); }); diff --git a/packages/rocketchat-livechat/plugin/build.sh b/packages/rocketchat-livechat/plugin/build.sh index f5a8a02760f..bdb08569199 100644 --- a/packages/rocketchat-livechat/plugin/build.sh +++ b/packages/rocketchat-livechat/plugin/build.sh @@ -1,36 +1,23 @@ +# set -x export NODE_ENV="production" -export LIVECHAT_DIR="../../../public/livechat" -export BUILD_DIR="../build" -export BUNDLE_DIR="../build/bundle/programs/web.browser.legacy" -export LIVECHAT_ASSETS_DIR="../../../private/livechat" -export LATEST_LIVECHAT_VERSION="1.1.4" +export LIVECHAT_DIR="./public/livechat" +export LIVECHAT_ASSETS_DIR="./private/livechat" -cd packages/rocketchat-livechat/.app -meteor npm install --production - -meteor build --headless --directory $BUILD_DIR +ROOT=$(pwd) rm -rf $LIVECHAT_DIR mkdir -p $LIVECHAT_DIR -cp $BUNDLE_DIR/*.css $LIVECHAT_DIR/livechat.css -cp $BUNDLE_DIR/*.js $LIVECHAT_DIR/livechat.js rm -rf $LIVECHAT_ASSETS_DIR mkdir $LIVECHAT_ASSETS_DIR -cp $BUNDLE_DIR/head.html $LIVECHAT_ASSETS_DIR/head.html -rm -rf $BUILD_DIR - #NEW LIVECHAT# echo "Installing Livechat ${LATEST_LIVECHAT_VERSION}..." cd $LIVECHAT_DIR -curl -sOL "https://github.com/RocketChat/Rocket.Chat.Livechat/releases/download/v${LATEST_LIVECHAT_VERSION}/build.tar.gz" -tar -xf build.tar.gz -rm build.tar.gz - +cp -a $ROOT/node_modules/\@rocket.chat/livechat/build/. ./ # change to lowercase so all injected junk from rocket.chat is not sent: https://github.com/meteorhacks/meteor-inject-initial/blob/master/lib/inject-core.js#L10 # this is not harmful since doctype is case-insesitive: https://www.w3.org/TR/html5/syntax.html#the-doctype node -e 'fs.writeFileSync("index.html", fs.readFileSync("index.html").toString().replace("