stream-chat-react-native-core 5.22.2-beta.1 → 5.22.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
  2. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +2 -2
  4. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  5. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
  6. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  7. package/lib/commonjs/i18n/fr.json +17 -17
  8. package/lib/commonjs/i18n/hi.json +17 -17
  9. package/lib/commonjs/i18n/it.json +17 -17
  10. package/lib/commonjs/i18n/nl.json +20 -20
  11. package/lib/commonjs/i18n/ru.json +20 -20
  12. package/lib/commonjs/i18n/tr.json +20 -20
  13. package/lib/commonjs/version.json +1 -1
  14. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
  15. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  16. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +2 -2
  17. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  18. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
  19. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  20. package/lib/module/i18n/fr.json +17 -17
  21. package/lib/module/i18n/hi.json +17 -17
  22. package/lib/module/i18n/it.json +17 -17
  23. package/lib/module/i18n/nl.json +20 -20
  24. package/lib/module/i18n/ru.json +20 -20
  25. package/lib/module/i18n/tr.json +20 -20
  26. package/lib/module/version.json +1 -1
  27. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +1 -1
  28. package/lib/typescript/i18n/fr.json +17 -17
  29. package/lib/typescript/i18n/hi.json +17 -17
  30. package/lib/typescript/i18n/it.json +17 -17
  31. package/lib/typescript/i18n/nl.json +20 -20
  32. package/lib/typescript/i18n/ru.json +20 -20
  33. package/lib/typescript/i18n/tr.json +20 -20
  34. package/package.json +1 -1
  35. package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +2 -2
  36. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +6 -11
  37. package/src/components/Message/MessageSimple/utils/parseLinks.ts +2 -2
  38. package/src/i18n/fr.json +17 -17
  39. package/src/i18n/hi.json +17 -17
  40. package/src/i18n/it.json +17 -17
  41. package/src/i18n/nl.json +20 -20
  42. package/src/i18n/ru.json +20 -20
  43. package/src/i18n/tr.json +20 -20
  44. package/src/version.json +1 -1
@@ -22,9 +22,9 @@ var generateMarkdownText = function generateMarkdownText(text) {
22
22
  omission: '...'
23
23
  });
24
24
  var normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');
25
- var markdown = "[" + displayLink + "](" + linkInfo.encodedUrl + ")";
25
+ var markdown = "[" + displayLink + "](" + linkInfo.url + ")";
26
26
  resultText = text.replace(normalRegEx, markdown);
27
- var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.encodedUrl) + "\\)", 'g');
27
+ var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.url) + "\\)", 'g');
28
28
  resultText = resultText.replace(mentionsRegex, "@" + displayLink);
29
29
  }
30
30
  resultText = resultText.replace(/[<"'>]/g, '\\$&');
@@ -1 +1 @@
1
- {"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","encodedUrl","mentionsRegex","exports"],"sources":["generateMarkdownText.ts"],"sourcesContent":["import truncate from 'lodash/truncate';\n\nimport { parseLinksFromText } from './parseLinks';\n\n// If you need to use any of the special characters literally (actually searching for a \"*\", for instance), you must escape it by putting a backslash in front of it.\nfunction escapeRegExp(text: string) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport const generateMarkdownText = (text?: string) => {\n if (!text) return null;\n\n // Trim the extra spaces from the text.\n let resultText = text.trim();\n\n // List of all the links present in the text.\n const linkInfos = parseLinksFromText(resultText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n // Convert raw links/emails in the text to respective markdown syntax.\n // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).\n const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');\n const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;\n resultText = text.replace(normalRegEx, markdown);\n\n // After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.\n // Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.\n const mentionsRegex = new RegExp(\n `@\\\\[${escapeRegExp(displayLink)}\\\\]\\\\(${escapeRegExp(linkInfo.encodedUrl)}\\\\)`,\n 'g',\n );\n resultText = resultText.replace(mentionsRegex, `@${displayLink}`);\n }\n\n resultText = resultText.replace(/[<\"'>]/g, '\\\\$&');\n\n return resultText;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","url","mentionsRegex","exports"],"sources":["generateMarkdownText.ts"],"sourcesContent":["import truncate from 'lodash/truncate';\n\nimport { parseLinksFromText } from './parseLinks';\n\n// If you need to use any of the special characters literally (actually searching for a \"*\", for instance), you must escape it by putting a backslash in front of it.\nfunction escapeRegExp(text: string) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport const generateMarkdownText = (text?: string) => {\n if (!text) return null;\n\n // Trim the extra spaces from the text.\n let resultText = text.trim();\n\n // List of all the links present in the text.\n const linkInfos = parseLinksFromText(resultText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n // Convert raw links/emails in the text to respective markdown syntax.\n // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).\n const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');\n const markdown = `[${displayLink}](${linkInfo.url})`;\n resultText = text.replace(normalRegEx, markdown);\n\n // After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.\n // Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.\n const mentionsRegex = new RegExp(\n `@\\\\[${escapeRegExp(displayLink)}\\\\]\\\\(${escapeRegExp(linkInfo.url)}\\\\)`,\n 'g',\n );\n resultText = resultText.replace(mentionsRegex, `@${displayLink}`);\n }\n\n resultText = resultText.replace(/[<\"'>]/g, '\\\\$&');\n\n return resultText;\n};\n"],"mappings":"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"}
@@ -21,8 +21,8 @@ var parseLinksFromText = function parseLinksFromText(input) {
21
21
  var href = _ref.href,
22
22
  value = _ref.value;
23
23
  return {
24
- encodedUrl: encodeURI(href),
25
- raw: value
24
+ raw: value,
25
+ url: href
26
26
  };
27
27
  });
28
28
  return result;
@@ -1 +1 @@
1
- {"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","encodedUrl","encodeURI","raw","exports"],"sources":["parseLinks.ts"],"sourcesContent":["import { find } from 'linkifyjs';\n\ninterface LinkInfo {\n encodedUrl: string;\n raw: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\n/**\n * This is done to avoid parsing usernames with dot as well as an email address in it.\n */\nconst removeUserNamesWithEmailFromText = (input: string) =>\n input.replace(/@(\\w+(\\.\\w+)?)(@\\w+\\.\\w+)/g, '');\n\nexport const parseLinksFromText = (input: string): LinkInfo[] => {\n const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(\n (acc, fn) => fn(acc),\n input,\n );\n\n const links = find(strippedInput, 'url');\n const emails = find(strippedInput, 'email');\n\n const result: LinkInfo[] = [...links, ...emails].map(({ href, value }) => ({\n encodedUrl: encodeURI(href),\n raw: value,\n }));\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAWA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAAA;AAK9F,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAIF,KAAa;EAAA,OACrDA,KAAK,CAACC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;AAAA;AAE1C,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,KAAa,EAAiB;EAC/D,IAAMI,aAAa,GAAG,CAACL,2BAA2B,EAAEG,gCAAgC,CAAC,CAACG,MAAM,CAC1F,UAACC,GAAG,EAAEC,EAAE;IAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;EAAA,GACpBN,KACF,CAAC;EAED,IAAMQ,KAAK,GAAG,IAAAC,eAAI,EAACL,aAAa,EAAE,KAAK,CAAC;EACxC,IAAMM,MAAM,GAAG,IAAAD,eAAI,EAACL,aAAa,EAAE,OAAO,CAAC;EAE3C,IAAMO,MAAkB,GAAG,GAAAC,MAAA,KAAAC,mBAAA,aAAIL,KAAK,OAAAK,mBAAA,aAAKH,MAAM,GAAEI,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAQ;MACzEC,UAAU,EAAEC,SAAS,CAACH,IAAI,CAAC;MAC3BI,GAAG,EAAEH;IACP,CAAC;EAAA,CAAC,CAAC;EAEH,OAAON,MAAM;AACf,CAAC;AAACU,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","raw","url","exports"],"sources":["parseLinks.ts"],"sourcesContent":["import { find } from 'linkifyjs';\n\ninterface LinkInfo {\n raw: string;\n url: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\n/**\n * This is done to avoid parsing usernames with dot as well as an email address in it.\n */\nconst removeUserNamesWithEmailFromText = (input: string) =>\n input.replace(/@(\\w+(\\.\\w+)?)(@\\w+\\.\\w+)/g, '');\n\nexport const parseLinksFromText = (input: string): LinkInfo[] => {\n const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(\n (acc, fn) => fn(acc),\n input,\n );\n\n const links = find(strippedInput, 'url');\n const emails = find(strippedInput, 'email');\n\n const result: LinkInfo[] = [...links, ...emails].map(({ href, value }) => ({\n raw: value,\n url: href,\n }));\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAWA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAAA;AAK9F,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAIF,KAAa;EAAA,OACrDA,KAAK,CAACC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;AAAA;AAE1C,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,KAAa,EAAiB;EAC/D,IAAMI,aAAa,GAAG,CAACL,2BAA2B,EAAEG,gCAAgC,CAAC,CAACG,MAAM,CAC1F,UAACC,GAAG,EAAEC,EAAE;IAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;EAAA,GACpBN,KACF,CAAC;EAED,IAAMQ,KAAK,GAAG,IAAAC,eAAI,EAACL,aAAa,EAAE,KAAK,CAAC;EACxC,IAAMM,MAAM,GAAG,IAAAD,eAAI,EAACL,aAAa,EAAE,OAAO,CAAC;EAE3C,IAAMO,MAAkB,GAAG,GAAAC,MAAA,KAAAC,mBAAA,aAAIL,KAAK,OAAAK,mBAAA,aAAKH,MAAM,GAAEI,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAQ;MACzEC,GAAG,EAAED,KAAK;MACVE,GAAG,EAAEH;IACP,CAAC;EAAA,CAAC,CAAC;EAEH,OAAOL,MAAM;AACf,CAAC;AAACS,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
@@ -1,45 +1,42 @@
1
1
  var _parseLinks = require("./parseLinks");
2
2
  describe('parseLinksFromText', function () {
3
- it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'https://getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', undefined], ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'], ['https://help.apple.com/xcode/mac/current/#/devba7f53ad4', 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4']])('Returns the encoded value of %p as %p', function (link, expected) {
3
+ it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'https://getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', undefined], ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'], ['https://help.apple.com/xcode/mac/current/#/devba7f53ad4', 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4']])('Returns the encoded value of %p as %p', function (link, expected) {
4
4
  var _result$;
5
5
  var result = (0, _parseLinks.parseLinksFromText)(link);
6
- expect((_result$ = result[0]) == null ? void 0 : _result$.encodedUrl).toBe(expected);
6
+ expect((_result$ = result[0]) == null ? void 0 : _result$.url).toBe(expected);
7
7
  });
8
8
  it('parses fqdn', function () {
9
9
  var input = "We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1\uD83C\uDDF3\uD83C\uDDF4&p2=2#fragment-identifier\n :)";
10
10
  var result = (0, _parseLinks.parseLinksFromText)(input);
11
11
  expect(result).toEqual([{
12
- encodedUrl: 'https://www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',
13
- raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier'
12
+ raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',
13
+ url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier'
14
14
  }]);
15
15
  });
16
16
  it.each([['support+rn@getstream.io'], ['support.rn@getstream.io'], ['support-rn@getstream.io'], ['support_rn@getstream.io']])('Can parse the email address %p', function (email) {
17
17
  var result = (0, _parseLinks.parseLinksFromText)(email);
18
- expect(result[0].encodedUrl).toBe('mailto:' + email);
18
+ expect(result[0].url).toBe('mailto:' + email);
19
19
  expect(result[0].raw).toBe(email);
20
20
  });
21
21
  it("doesn't double the mailto prefix", function () {
22
22
  var input = 'mailto:support@getstream.io';
23
23
  var result = (0, _parseLinks.parseLinksFromText)(input);
24
24
  expect(result[0]).toEqual({
25
- encodedUrl: input,
26
- raw: input
25
+ raw: input,
26
+ url: input
27
27
  });
28
28
  });
29
29
  it('Does not falsely parse LINKs from text content', function () {
30
30
  var input = "#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n ";
31
31
  var result = (0, _parseLinks.parseLinksFromText)(input);
32
- console.log({
33
- result: result
34
- });
35
32
  expect(result).toHaveLength(2);
36
33
  });
37
34
  it('Encodes incomplete emoji unicode', function () {
38
35
  var input = 'https://getstream.io/�';
39
36
  var result = (0, _parseLinks.parseLinksFromText)(input);
40
37
  expect(result[0]).toEqual({
41
- encodedUrl: 'https://getstream.io/%EF%BF%BD',
42
- raw: input
38
+ raw: input,
39
+ url: 'https://getstream.io/�'
43
40
  });
44
41
  });
45
42
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","encodedUrl","toBe","input","toEqual","raw","email","console","log","toHaveLength"],"sources":["parseLinks.test.ts"],"sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['https://www.getstream.io', 'https://www.getstream.io'],\n ['https://getstream.io', 'https://getstream.io'],\n ['scrn://team-chat', undefined],\n ['https://localhost', 'https://localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'https://localhost/with/path?and=query&multiple=params',\n ],\n [\n 'https://localhost/with/path?and=query#fragment',\n 'https://localhost/with/path?and=query#fragment',\n ],\n ['reactnative.dev', 'http://reactnative.dev'],\n ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'],\n [\n 'https://zh.wikipedia.org/wiki/挪威牛油危機',\n 'https://zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F',\n ],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', undefined],\n ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'],\n [\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n ],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n expect(result[0]?.encodedUrl).toBe(expected);\n });\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n :)`;\n const result = parseLinksFromText(input);\n expect(result).toEqual([\n {\n encodedUrl:\n 'https://www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n },\n ]);\n });\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n expect(result[0].encodedUrl).toBe('mailto:' + email);\n expect(result[0].raw).toBe(email);\n });\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n encodedUrl: input,\n raw: input,\n });\n });\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n `;\n const result = parseLinksFromText(input);\n console.log({ result });\n expect(result).toHaveLength(2);\n });\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n encodedUrl: 'https://getstream.io/%EF%BF%BD',\n raw: input,\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","url","toBe","input","toEqual","raw","email","toHaveLength"],"sources":["parseLinks.test.ts"],"sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['https://www.getstream.io', 'https://www.getstream.io'],\n ['https://getstream.io', 'https://getstream.io'],\n ['scrn://team-chat', undefined],\n ['https://localhost', 'https://localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'https://localhost/with/path?and=query&multiple=params',\n ],\n [\n 'https://localhost/with/path?and=query#fragment',\n 'https://localhost/with/path?and=query#fragment',\n ],\n ['reactnative.dev', 'http://reactnative.dev'],\n ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'],\n ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', undefined],\n ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'],\n [\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n ],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n expect(result[0]?.url).toBe(expected);\n });\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n :)`;\n const result = parseLinksFromText(input);\n expect(result).toEqual([\n {\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n },\n ]);\n });\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n expect(result[0].url).toBe('mailto:' + email);\n expect(result[0].raw).toBe(email);\n });\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: input,\n });\n });\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n `;\n const result = parseLinksFromText(input);\n expect(result).toHaveLength(2);\n });\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: 'https://getstream.io/�',\n });\n });\n});\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 Réponse",
3
- "1 Thread Reply": "Réponse à 1 fil",
3
+ "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "Autoriser l'accès à votre galerie",
5
5
  "Allow camera access in device settings": "Autoriser l'accès à la caméra dans les paramètres de l'appareil",
6
6
  "Also send to channel": "Envoyer également à la chaîne",
@@ -14,7 +14,7 @@
14
14
  "Device camera is used to take photos or videos.": "L'appareil photo de l'appareil est utilisé pour prendre des photos ou des vidéos.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
- "Editing Message": "Édite un message",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
@@ -28,34 +28,34 @@
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "Links are disabled",
32
- "Loading channels...": "",
33
- "Loading messages...": "",
34
- "Loading...": "",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
36
- "Message Reactions": "Réactions aux messages",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "Chargement des canaux...",
33
+ "Loading messages...": "Chargement des messages...",
34
+ "Loading...": "Chargement...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Seulement visible par vous",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Ouvrir les paramètres",
45
- "Photo": "",
45
+ "Photo": "Photo",
46
46
  "Photos and Videos": "Photos et vidéos",
47
47
  "Pin to Conversation": "",
48
- "Pinned by": "Épinglé par",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accès à vos photos et vidéos afin de pouvoir les partager.",
50
50
  "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
- "Reply to Message": "",
53
+ "Reply to Message": "Répondre au message",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
56
  "Select More Photos": "Sélectionner plus de photos",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
58
+ "Sending links is not allowed in this conversation": "",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
@@ -64,13 +64,13 @@
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
66
  "Unread Messages": "Messages non lus",
67
- "Video": "",
67
+ "Video": "Vidéo",
68
68
  "You": "",
69
69
  "You can't send messages in this channel": "You can't send messages in this channel",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
73
- "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
- "{{ user }} is typing": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} est en train d'écrire",
75
75
  "🏙 Attachment...": ""
76
76
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 रिप्लाई",
3
- "1 Thread Reply": "1 धागा उत्तर",
3
+ "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "अपनी गैलरी तक पहुँचने की अनुमति दें",
5
5
  "Allow camera access in device settings": "डिवाइस सेटिंग्स में कैमरा एक्सेस की अनुमति दें",
6
6
  "Also send to channel": "चैनल को भी भेजें",
@@ -14,7 +14,7 @@
14
14
  "Device camera is used to take photos or videos.": "डिवाइस कैमरे का उपयोग फ़ोटो या वीडियो लेने के लिए किया जाता है।",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
- "Editing Message": "मैसेज बदला जा रहा है",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
@@ -28,34 +28,34 @@
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "लिंक अक्षम हैं",
32
- "Loading channels...": "",
33
- "Loading messages...": "",
34
- "Loading...": "",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "अधिकतम फ़ाइल आकार अपलोड सीमा पूरी हो गई। कृपया {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} एमबी से नीचे की फ़ाइल अपलोड करें।",
36
- "Message Reactions": "संदेश प्रतिक्रियाएँ",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "चैनल लोड हो रहे हैं...",
33
+ "Loading messages...": "मेसेजस लोड हो रहे हैं...",
34
+ "Loading...": "लोड हो रहा है...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "केवल आपको दिखाई दे रहा है",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "सेटिंग्स खोलें",
45
- "Photo": "",
45
+ "Photo": "तस्वीर",
46
46
  "Photos and Videos": "तस्वीरें और वीडियों",
47
47
  "Pin to Conversation": "",
48
- "Pinned by": "द्वारा पिन किया गया",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "कृपया अपनी फ़ोटो और वीडियो तक पहुंच सक्षम करें ताकि आप उन्हें साझा कर सकें।",
50
50
  "Please select a channel first": "कृपया पहले एक चैनल चुनें",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
- "Reply to Message": "",
53
+ "Reply to Message": "संदेश का जवाब दें",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
56
  "Select More Photos": "अधिक फ़ोटो चुनें",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
58
+ "Sending links is not allowed in this conversation": "",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
@@ -64,13 +64,13 @@
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
66
  "Unread Messages": "अपठित संदेश",
67
- "Video": "",
67
+ "Video": "वीडियो",
68
68
  "You": "",
69
69
  "You can't send messages in this channel": "आप इस चैनल में संदेश नहीं भेज सकते",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} और {{ nonSelfUserLength }} अधिक टाइप कर रहे हैं",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
73
- "{{ replyCount }} Thread Replies": "{{ replyCount }}} थ्रेड उत्तर",
74
- "{{ user }} is typing": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} टाइप कर रहा है",
75
75
  "🏙 Attachment...": ""
76
76
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 Risposta",
3
- "1 Thread Reply": "1 Risposta alla Discussione",
3
+ "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "Consenti l'accesso alla tua galleria",
5
5
  "Allow camera access in device settings": "Consenti l'accesso alla fotocamera nelle impostazioni del dispositivo",
6
6
  "Also send to channel": "Invia anche al canale",
@@ -14,7 +14,7 @@
14
14
  "Device camera is used to take photos or videos.": "La fotocamera del dispositivo viene utilizzata per scattare foto o video.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
- "Editing Message": "Modificando il Messaggio",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
@@ -28,34 +28,34 @@
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "I link sono disabilitati",
32
- "Loading channels...": "",
33
- "Loading messages...": "",
34
- "Loading...": "",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "È stato raggiunto il limite massimo di caricamento delle dimensioni del file. Carica un file inferiore a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
36
- "Message Reactions": "Reazioni ai Messaggi",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "Caricamento canali in corso...",
33
+ "Loading messages...": "Caricamento messaggi...",
34
+ "Loading...": "Caricamento...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Visibile solo a te",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Apri Impostazioni",
45
- "Photo": "",
45
+ "Photo": "Foto",
46
46
  "Photos and Videos": "Foto e Video",
47
47
  "Pin to Conversation": "",
48
- "Pinned by": "Fissato da",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "Abilita l'accesso alle tue foto e ai tuoi video in modo da poterli condividere.",
50
50
  "Please select a channel first": "Seleziona un canale",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
- "Reply to Message": "",
53
+ "Reply to Message": "Rispondi al messaggio",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
56
  "Select More Photos": "Seleziona Altre foto",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "L'invio di link non è consentito in questa conversazione",
58
+ "Sending links is not allowed in this conversation": "",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
@@ -64,13 +64,13 @@
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
66
  "Unread Messages": "Messaggi non letti",
67
- "Video": "",
67
+ "Video": "Video",
68
68
  "You": "",
69
69
  "You can't send messages in this channel": "Non puoi inviare messaggi in questo canale",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} e altri {{ nonSelfUserLength }} stanno scrivendo",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} di {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Risposte",
73
- "{{ replyCount }} Thread Replies": "{{replyCount}} Risposte alle Conversazione",
74
- "{{ user }} is typing": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} sta scrivendo",
75
75
  "🏙 Attachment...": ""
76
76
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 Antwoord",
3
- "1 Thread Reply": "1 thread antwoord",
3
+ "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "Geef toegang tot uw galerij",
5
5
  "Allow camera access in device settings": "Sta cameratoegang toe in de apparaatinstellingen",
6
6
  "Also send to channel": "Stuur ook naar kanaal",
@@ -14,7 +14,7 @@
14
14
  "Device camera is used to take photos or videos.": "De camera van het apparaat wordt gebruikt om foto's of video's te maken.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
- "Editing Message": "Bericht aanpassen",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
@@ -28,35 +28,35 @@
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "Het versturen van links staat uit",
32
- "Loading channels...": "",
33
- "Loading messages...": "",
34
- "Loading...": "",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maximale uploadlimiet voor bestandsgrootte bereikt. Upload een bestand van minder dan {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
36
- "Message Reactions": "Bericht Reacties",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "Kanalen aan het laden...",
33
+ "Loading messages...": "Berichten aan het laden...",
34
+ "Loading...": "Aan het laden...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Alleen zichtbaar voor jou",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Open instellingen",
45
- "Photo": "",
45
+ "Photo": "Foto",
46
46
  "Photos and Videos": "Foto's en video's",
47
47
  "Pin to Conversation": "",
48
- "Pinned by": "Vastgemaakt door",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "Schakel toegang tot uw foto's en video's in zodat u ze kunt delen.",
50
50
  "Please select a channel first": "Selecteer eerst een kanaal",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
- "Reply to Message": "",
53
+ "Reply to Message": "Beantwoord bericht",
54
54
  "Resend": "",
55
- "Search GIFs": "",
55
+ "Search GIFs": "Zoek GIF's",
56
56
  "Select More Photos": "Selecteer Meer foto's",
57
- "Send a message": "",
58
- "Sending links is not allowed in this conversation": "In dit gesprek is het niet toegestaan links te versturen",
59
- "Slow mode ON": "",
57
+ "Send a message": "Stuur een bericht",
58
+ "Sending links is not allowed in this conversation": "",
59
+ "Slow mode ON": "Langzame modus aan",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
62
62
  "Unblock User": "",
@@ -64,13 +64,13 @@
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
66
  "Unread Messages": "Ongelezen Berichten",
67
- "Video": "",
67
+ "Video": "Video",
68
68
  "You": "",
69
69
  "You can't send messages in this channel": "Je kan geen berichten sturen in dit kanaal",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} en {{ nonSelfUserLength }} anderen zijn aan het typen",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} van {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
73
- "{{ replyCount }} Thread Replies": "{{replyCount}} Discussiereacties",
74
- "{{ user }} is typing": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} is aan het typen",
75
75
  "🏙 Attachment...": ""
76
76
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 Ответ",
3
- "1 Thread Reply": "1 тема Ответить",
3
+ "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "Разрешить доступ к вашей галерее",
5
5
  "Allow camera access in device settings": "Разрешите доступ к камере в настройках устройства.",
6
6
  "Also send to channel": "Также отправить на канал",
@@ -14,7 +14,7 @@
14
14
  "Device camera is used to take photos or videos.": "Камера устройства используется для съемки фотографий или видео.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
- "Editing Message": "Редактирование сообщения",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
@@ -28,35 +28,35 @@
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "Ссылки отключены",
32
- "Loading channels...": "",
33
- "Loading messages...": "",
34
- "Loading...": "",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Достигнут предел максимального размера файла для загрузки. Загрузите файл размером менее {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} МБ.",
36
- "Message Reactions": "Сообщения Реакции",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "Загружаю каналы...",
33
+ "Loading messages...": "Загружаю сообщения...",
34
+ "Loading...": "Загружаю...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Видно только вам",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Открыть настройки",
45
- "Photo": "",
45
+ "Photo": "Фото",
46
46
  "Photos and Videos": "Фото и видео",
47
47
  "Pin to Conversation": "",
48
- "Pinned by": "Закреплено пользователем",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "Разрешите доступ к своим фотографиям и видео, чтобы вы могли ими поделиться.",
50
50
  "Please select a channel first": "Пожалуйста, сначала выберите канал",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
- "Reply to Message": "",
53
+ "Reply to Message": "Ответить на сообщение",
54
54
  "Resend": "",
55
- "Search GIFs": "",
55
+ "Search GIFs": "Поиск GIF",
56
56
  "Select More Photos": "Выбрать больше фотографий",
57
- "Send a message": "",
58
- "Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
59
- "Slow mode ON": "",
57
+ "Send a message": "Отправить сообщение",
58
+ "Sending links is not allowed in this conversation": "",
59
+ "Slow mode ON": "Медленный режим включен",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
62
62
  "Unblock User": "",
@@ -64,13 +64,13 @@
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
66
  "Unread Messages": "Непрочитанные Сообщения",
67
- "Video": "",
67
+ "Video": "видео",
68
68
  "You": "",
69
69
  "You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Ответов",
73
- "{{ replyCount }} Thread Replies": "{{replyCount}} Ответы в темах",
74
- "{{ user }} is typing": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} пишет",
75
75
  "🏙 Attachment...": ""
76
76
  }