@amityco/react-native-social-uikit 4.0.0-RC9 → 4.0.0-b295c41.0

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.
@@ -247,7 +247,7 @@ const AmityPostComposerPage = ({
247
247
  }, [navigation, AmityPostComposerPageBehavior]);
248
248
  const onClose = (0, _react.useCallback)(() => {
249
249
  _reactNative.Alert.alert('Discard this post', 'The post will be permanently deleted. It cannot be undone', [{
250
- text: 'Keey Editing',
250
+ text: 'Keep Editing',
251
251
  style: 'cancel'
252
252
  }, {
253
253
  text: 'Discard',
@@ -21,7 +21,7 @@ const LinkPreview = exports.LinkPreview = /*#__PURE__*/React.memo(({
21
21
  let isCancelled = false;
22
22
  const fetchData = async () => {
23
23
  setData(undefined);
24
- const newData = await (0, _utils.getPreviewData)(text, 5000);
24
+ const newData = await (0, _utils.getPreviewData)(text);
25
25
  if (!isCancelled) {
26
26
  setData(newData);
27
27
  }
@@ -33,8 +33,8 @@ const LinkPreview = exports.LinkPreview = /*#__PURE__*/React.memo(({
33
33
  }, [text]);
34
34
  const handlePress = () => (data === null || data === void 0 ? void 0 : data.link) && _reactNative.Linking.openURL(data.link);
35
35
  const renderImageNode = React.useCallback(image => {
36
- const imageUrl = image !== null && image !== void 0 && image.url ? {
37
- uri: image.url
36
+ const imageUrl = image ? {
37
+ uri: image
38
38
  } : require('../../assets/images/previewLinkDefaultBackground.png');
39
39
  return /*#__PURE__*/React.createElement(_reactNative.Image, {
40
40
  accessibilityRole: "image",
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_styles","_utils","_RenderTextWithMention","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LinkPreview","exports","memo","text","mentionPositionArr","data","setData","useState","styles","useStyles","useEffect","isCancelled","fetchData","undefined","newData","getPreviewData","handlePress","link","Linking","openURL","renderImageNode","useCallback","image","imageUrl","url","uri","createElement","Image","accessibilityRole","resizeMode","source","style","renderTitleNode","title","Text","numberOfLines","renderShortUrl","matches","match","shortUrl","View","textPost","TouchableOpacity","onPress","metadataContainer","metadataTextContainer"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/LinkPreview.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_styles","_utils","_RenderTextWithMention","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LinkPreview","exports","memo","text","mentionPositionArr","data","setData","useState","styles","useStyles","useEffect","isCancelled","fetchData","undefined","newData","getPreviewData","handlePress","link","Linking","openURL","renderImageNode","useCallback","image","imageUrl","uri","createElement","Image","accessibilityRole","resizeMode","source","style","renderTitleNode","title","Text","numberOfLines","renderShortUrl","url","matches","match","shortUrl","View","textPost","TouchableOpacity","onPress","metadataContainer","metadataTextContainer"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/LinkPreview.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.oneOf = exports.getPreviewDataImage = exports.getPreviewData = exports.getImageSize = exports.getHtmlEntitiesDecodedText = exports.getContent = exports.getActualImageUrl = exports.REGEX_TITLE = exports.REGEX_META = exports.REGEX_LINK = exports.REGEX_IMAGE_TAG = exports.REGEX_IMAGE_CONTENT_TYPE = exports.REGEX_EMAIL = void 0;
7
7
  var _htmlEntities = require("html-entities");
8
8
  var _reactNative = require("react-native");
9
+ var _tsSdkReactNative = require("@amityco/ts-sdk-react-native");
9
10
  const getActualImageUrl = (baseUrl, imageUrl) => {
10
11
  let actualImageUrl = imageUrl === null || imageUrl === void 0 ? void 0 : imageUrl.trim();
11
12
  if (!actualImageUrl || actualImageUrl.startsWith('data')) return null;
@@ -53,7 +54,7 @@ const getImageSize = url => {
53
54
  // Functions below use functions from the same file and mocks are not working
54
55
  /* istanbul ignore next */
55
56
  exports.getImageSize = getImageSize;
56
- const getPreviewData = async (text, requestTimeout = 5000) => {
57
+ const getPreviewData = async text => {
57
58
  const previewData = {
58
59
  description: undefined,
59
60
  image: undefined,
@@ -70,78 +71,13 @@ const getPreviewData = async (text, requestTimeout = 5000) => {
70
71
  if (!url.toLowerCase().startsWith('http')) {
71
72
  url = 'https://' + url;
72
73
  }
73
- let abortControllerTimeout;
74
- const abortController = new AbortController();
75
- const request = fetch(url, {
76
- headers: {
77
- 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
78
- },
79
- signal: abortController.signal
80
- });
81
- abortControllerTimeout = setTimeout(() => {
82
- abortController.abort();
83
- }, requestTimeout);
84
- const response = await request;
85
- clearTimeout(abortControllerTimeout);
86
- previewData.link = url;
87
- const contentType = response.headers.get('content-type') ?? '';
88
- if (REGEX_IMAGE_CONTENT_TYPE.test(contentType)) {
89
- const image = await getPreviewDataImage(url);
90
- previewData.image = image;
91
- return previewData;
92
- }
93
- const html = await response.text();
94
-
95
- // Some pages return undefined
96
- if (!html) return previewData;
97
- const head = html.substring(0, html.indexOf('<body'));
98
-
99
- // Get page title
100
- const title = REGEX_TITLE.exec(head);
101
- previewData.title = getHtmlEntitiesDecodedText(title === null || title === void 0 ? void 0 : title[1]);
102
- let matches;
103
- const meta = [];
104
- while ((matches = REGEX_META.exec(head)) !== null) {
105
- // @ts-ignore
106
- meta.push([...matches]);
107
- }
108
- const metaPreviewData = meta.reduce((acc, curr) => {
109
- // Verify that we have property/name and content
110
- // Note that if a page will specify property, name and content in the same meta, regex will fail
111
- if (!curr[2] || !curr[3]) return acc;
112
-
113
- // Only take the first occurrence
114
- // For description take the meta description tag into consideration
115
- const description = !acc.description && (getContent(curr[2], curr[3], 'og:description') || getContent(curr[2], curr[3], 'description'));
116
- const ogImage = !acc.imageUrl && getContent(curr[2], curr[3], 'og:image');
117
- const ogTitle = !acc.title && getContent(curr[2], curr[3], 'og:title');
118
- return {
119
- description: description ? getHtmlEntitiesDecodedText(description) : acc.description,
120
- imageUrl: ogImage ? getActualImageUrl(url, ogImage) : acc.imageUrl,
121
- title: ogTitle ? getHtmlEntitiesDecodedText(ogTitle) : acc.title
122
- };
123
- }, {
124
- title: previewData.title
125
- });
126
- previewData.description = metaPreviewData.description;
127
- previewData.image = await getPreviewDataImage(metaPreviewData.imageUrl);
128
- previewData.title = metaPreviewData.title;
129
- if (!previewData.image) {
130
- let imageMatches;
131
- const tags = [];
132
- while ((imageMatches = REGEX_IMAGE_TAG.exec(html)) !== null) {
133
- // @ts-ignore
134
- tags.push([...imageMatches]);
135
- }
136
- let images = [];
137
- for (const tag of tags.filter(t => !t[1].startsWith('data')).slice(0, 5)) {
138
- const image = await getPreviewDataImage(getActualImageUrl(url, tag[1]));
139
- if (!image) continue;
140
- images = [...images, image];
141
- }
142
- previewData.image = images.sort((a, b) => b.height * b.width - a.height * a.width)[0];
143
- }
144
- return previewData;
74
+ const request = await _tsSdkReactNative.Client.fetchLinkPreview(url);
75
+ return {
76
+ description: request.description || undefined,
77
+ image: request.image || undefined,
78
+ link: url,
79
+ title: request.title || undefined
80
+ };
145
81
  } catch {
146
82
  return previewData;
147
83
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_htmlEntities","require","_reactNative","getActualImageUrl","baseUrl","imageUrl","actualImageUrl","trim","startsWith","endsWith","slice","exports","getHtmlEntitiesDecodedText","text","actualText","decode","getContent","left","right","type","_contents$type","contents","getImageSize","url","Promise","resolve","reject","Image","getSize","width","height","error","getPreviewData","requestTimeout","previewData","description","undefined","image","link","title","_textWithoutEmails$ma","textWithoutEmails","replace","REGEX_EMAIL","match","REGEX_LINK","toLowerCase","abortControllerTimeout","abortController","AbortController","request","fetch","headers","signal","setTimeout","abort","response","clearTimeout","contentType","get","REGEX_IMAGE_CONTENT_TYPE","test","getPreviewDataImage","html","head","substring","indexOf","REGEX_TITLE","exec","matches","meta","REGEX_META","push","metaPreviewData","reduce","acc","curr","ogImage","ogTitle","imageMatches","tags","REGEX_IMAGE_TAG","images","tag","filter","t","sort","a","b","aspectRatio","oneOf","truthy","falsy","args"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_htmlEntities","require","_reactNative","_tsSdkReactNative","getActualImageUrl","baseUrl","imageUrl","actualImageUrl","trim","startsWith","endsWith","slice","exports","getHtmlEntitiesDecodedText","text","actualText","decode","getContent","left","right","type","_contents$type","contents","getImageSize","url","Promise","resolve","reject","Image","getSize","width","height","error","getPreviewData","previewData","description","undefined","image","link","title","_textWithoutEmails$ma","textWithoutEmails","replace","REGEX_EMAIL","match","REGEX_LINK","toLowerCase","request","Client","fetchLinkPreview","getPreviewDataImage","aspectRatio","oneOf","truthy","falsy","args","REGEX_IMAGE_CONTENT_TYPE","REGEX_IMAGE_TAG","REGEX_META","REGEX_TITLE"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -241,7 +241,7 @@ const AmityPostComposerPage = ({
241
241
  }, [navigation, AmityPostComposerPageBehavior]);
242
242
  const onClose = useCallback(() => {
243
243
  Alert.alert('Discard this post', 'The post will be permanently deleted. It cannot be undone', [{
244
- text: 'Keey Editing',
244
+ text: 'Keep Editing',
245
245
  style: 'cancel'
246
246
  }, {
247
247
  text: 'Discard',
@@ -13,7 +13,7 @@ export const LinkPreview = /*#__PURE__*/React.memo(({
13
13
  let isCancelled = false;
14
14
  const fetchData = async () => {
15
15
  setData(undefined);
16
- const newData = await getPreviewData(text, 5000);
16
+ const newData = await getPreviewData(text);
17
17
  if (!isCancelled) {
18
18
  setData(newData);
19
19
  }
@@ -25,8 +25,8 @@ export const LinkPreview = /*#__PURE__*/React.memo(({
25
25
  }, [text]);
26
26
  const handlePress = () => (data === null || data === void 0 ? void 0 : data.link) && Linking.openURL(data.link);
27
27
  const renderImageNode = React.useCallback(image => {
28
- const imageUrl = image !== null && image !== void 0 && image.url ? {
29
- uri: image.url
28
+ const imageUrl = image ? {
29
+ uri: image
30
30
  } : require('../../assets/images/previewLinkDefaultBackground.png');
31
31
  return /*#__PURE__*/React.createElement(Image, {
32
32
  accessibilityRole: "image",
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","Linking","Text","TouchableOpacity","View","useStyles","getPreviewData","RenderTextWithMention","LinkPreview","memo","text","mentionPositionArr","data","setData","useState","styles","useEffect","isCancelled","fetchData","undefined","newData","handlePress","link","openURL","renderImageNode","useCallback","image","imageUrl","url","uri","require","createElement","accessibilityRole","resizeMode","source","style","renderTitleNode","title","numberOfLines","renderShortUrl","matches","match","shortUrl","textPost","onPress","metadataContainer","metadataTextContainer"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/LinkPreview.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Image","Linking","Text","TouchableOpacity","View","useStyles","getPreviewData","RenderTextWithMention","LinkPreview","memo","text","mentionPositionArr","data","setData","useState","styles","useEffect","isCancelled","fetchData","undefined","newData","handlePress","link","openURL","renderImageNode","useCallback","image","imageUrl","uri","require","createElement","accessibilityRole","resizeMode","source","style","renderTitleNode","title","numberOfLines","renderShortUrl","url","matches","match","shortUrl","textPost","onPress","metadataContainer","metadataTextContainer"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/LinkPreview.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { decode } from 'html-entities';
2
2
  import { Image } from 'react-native';
3
+ import { Client } from '@amityco/ts-sdk-react-native';
3
4
  export const getActualImageUrl = (baseUrl, imageUrl) => {
4
5
  let actualImageUrl = imageUrl === null || imageUrl === void 0 ? void 0 : imageUrl.trim();
5
6
  if (!actualImageUrl || actualImageUrl.startsWith('data')) return null;
@@ -43,7 +44,7 @@ export const getImageSize = url => {
43
44
 
44
45
  // Functions below use functions from the same file and mocks are not working
45
46
  /* istanbul ignore next */
46
- export const getPreviewData = async (text, requestTimeout = 5000) => {
47
+ export const getPreviewData = async text => {
47
48
  const previewData = {
48
49
  description: undefined,
49
50
  image: undefined,
@@ -60,78 +61,13 @@ export const getPreviewData = async (text, requestTimeout = 5000) => {
60
61
  if (!url.toLowerCase().startsWith('http')) {
61
62
  url = 'https://' + url;
62
63
  }
63
- let abortControllerTimeout;
64
- const abortController = new AbortController();
65
- const request = fetch(url, {
66
- headers: {
67
- 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
68
- },
69
- signal: abortController.signal
70
- });
71
- abortControllerTimeout = setTimeout(() => {
72
- abortController.abort();
73
- }, requestTimeout);
74
- const response = await request;
75
- clearTimeout(abortControllerTimeout);
76
- previewData.link = url;
77
- const contentType = response.headers.get('content-type') ?? '';
78
- if (REGEX_IMAGE_CONTENT_TYPE.test(contentType)) {
79
- const image = await getPreviewDataImage(url);
80
- previewData.image = image;
81
- return previewData;
82
- }
83
- const html = await response.text();
84
-
85
- // Some pages return undefined
86
- if (!html) return previewData;
87
- const head = html.substring(0, html.indexOf('<body'));
88
-
89
- // Get page title
90
- const title = REGEX_TITLE.exec(head);
91
- previewData.title = getHtmlEntitiesDecodedText(title === null || title === void 0 ? void 0 : title[1]);
92
- let matches;
93
- const meta = [];
94
- while ((matches = REGEX_META.exec(head)) !== null) {
95
- // @ts-ignore
96
- meta.push([...matches]);
97
- }
98
- const metaPreviewData = meta.reduce((acc, curr) => {
99
- // Verify that we have property/name and content
100
- // Note that if a page will specify property, name and content in the same meta, regex will fail
101
- if (!curr[2] || !curr[3]) return acc;
102
-
103
- // Only take the first occurrence
104
- // For description take the meta description tag into consideration
105
- const description = !acc.description && (getContent(curr[2], curr[3], 'og:description') || getContent(curr[2], curr[3], 'description'));
106
- const ogImage = !acc.imageUrl && getContent(curr[2], curr[3], 'og:image');
107
- const ogTitle = !acc.title && getContent(curr[2], curr[3], 'og:title');
108
- return {
109
- description: description ? getHtmlEntitiesDecodedText(description) : acc.description,
110
- imageUrl: ogImage ? getActualImageUrl(url, ogImage) : acc.imageUrl,
111
- title: ogTitle ? getHtmlEntitiesDecodedText(ogTitle) : acc.title
112
- };
113
- }, {
114
- title: previewData.title
115
- });
116
- previewData.description = metaPreviewData.description;
117
- previewData.image = await getPreviewDataImage(metaPreviewData.imageUrl);
118
- previewData.title = metaPreviewData.title;
119
- if (!previewData.image) {
120
- let imageMatches;
121
- const tags = [];
122
- while ((imageMatches = REGEX_IMAGE_TAG.exec(html)) !== null) {
123
- // @ts-ignore
124
- tags.push([...imageMatches]);
125
- }
126
- let images = [];
127
- for (const tag of tags.filter(t => !t[1].startsWith('data')).slice(0, 5)) {
128
- const image = await getPreviewDataImage(getActualImageUrl(url, tag[1]));
129
- if (!image) continue;
130
- images = [...images, image];
131
- }
132
- previewData.image = images.sort((a, b) => b.height * b.width - a.height * a.width)[0];
133
- }
134
- return previewData;
64
+ const request = await Client.fetchLinkPreview(url);
65
+ return {
66
+ description: request.description || undefined,
67
+ image: request.image || undefined,
68
+ link: url,
69
+ title: request.title || undefined
70
+ };
135
71
  } catch {
136
72
  return previewData;
137
73
  }
@@ -1 +1 @@
1
- {"version":3,"names":["decode","Image","getActualImageUrl","baseUrl","imageUrl","actualImageUrl","trim","startsWith","endsWith","slice","getHtmlEntitiesDecodedText","text","actualText","getContent","left","right","type","_contents$type","contents","getImageSize","url","Promise","resolve","reject","getSize","width","height","error","getPreviewData","requestTimeout","previewData","description","undefined","image","link","title","_textWithoutEmails$ma","textWithoutEmails","replace","REGEX_EMAIL","match","REGEX_LINK","toLowerCase","abortControllerTimeout","abortController","AbortController","request","fetch","headers","signal","setTimeout","abort","response","clearTimeout","contentType","get","REGEX_IMAGE_CONTENT_TYPE","test","getPreviewDataImage","html","head","substring","indexOf","REGEX_TITLE","exec","matches","meta","REGEX_META","push","metaPreviewData","reduce","acc","curr","ogImage","ogTitle","imageMatches","tags","REGEX_IMAGE_TAG","images","tag","filter","t","sort","a","b","aspectRatio","oneOf","truthy","falsy","args"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["decode","Image","Client","getActualImageUrl","baseUrl","imageUrl","actualImageUrl","trim","startsWith","endsWith","slice","getHtmlEntitiesDecodedText","text","actualText","getContent","left","right","type","_contents$type","contents","getImageSize","url","Promise","resolve","reject","getSize","width","height","error","getPreviewData","previewData","description","undefined","image","link","title","_textWithoutEmails$ma","textWithoutEmails","replace","REGEX_EMAIL","match","REGEX_LINK","toLowerCase","request","fetchLinkPreview","getPreviewDataImage","aspectRatio","oneOf","truthy","falsy","args","REGEX_IMAGE_CONTENT_TYPE","REGEX_IMAGE_TAG","REGEX_META","REGEX_TITLE"],"sourceRoot":"../../../../../src","sources":["v4/component/PreviewLink/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,12 @@ export declare const getActualImageUrl: (baseUrl: string, imageUrl?: string) =>
3
3
  export declare const getHtmlEntitiesDecodedText: (text?: string) => string;
4
4
  export declare const getContent: (left: string, right: string, type: string) => string;
5
5
  export declare const getImageSize: (url: string) => Promise<Size>;
6
- export declare const getPreviewData: (text: string, requestTimeout?: number) => Promise<PreviewData>;
6
+ export declare const getPreviewData: (text: string) => Promise<PreviewData | {
7
+ description: any;
8
+ image: any;
9
+ link: string;
10
+ title: any;
11
+ }>;
7
12
  export declare const getPreviewDataImage: (url?: string) => Promise<PreviewDataImage>;
8
13
  export declare const oneOf: <T extends (...args: A) => any, U, A extends any[]>(truthy: T | undefined, falsy: U) => (...args: Parameters<T>) => ReturnType<T> | U;
9
14
  export declare const REGEX_EMAIL: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/v4/component/PreviewLink/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE9D,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,WAkBnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,OAAO,MAAM,WAKvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,WAOnE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,kBAWvC,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM,EAAE,uBAAqB,yBAsIvE,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAU,MAAM,MAAM,8BAgBrD,CAAC;AAEF,eAAO,MAAM,KAAK,GACf,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAChD,QAAQ,CAAC,GAAG,SAAS,EACrB,OAAO,CAAC,MAET,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAEzC,CAAC;AAEJ,eAAO,MAAM,WAAW,QAC+B,CAAC;AACxD,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAEpD,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,eAAO,MAAM,UAAU,QACsE,CAAC;AAE9F,eAAO,MAAM,UAAU,QAC+C,CAAC;AACvE,eAAO,MAAM,WAAW,QAA8B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/v4/component/PreviewLink/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG9D,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,WAkBnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,OAAO,MAAM,WAKvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,WAOnE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,kBAWvC,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM;;;;;EAkChD,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAU,MAAM,MAAM,8BAgBrD,CAAC;AAEF,eAAO,MAAM,KAAK,GACf,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAChD,QAAQ,CAAC,GAAG,SAAS,EACrB,OAAO,CAAC,MAET,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAEzC,CAAC;AAEJ,eAAO,MAAM,WAAW,QAC+B,CAAC;AACxD,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAEpD,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,eAAO,MAAM,UAAU,QACsE,CAAC;AAE9F,eAAO,MAAM,UAAU,QAC+C,CAAC;AACvE,eAAO,MAAM,WAAW,QAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/react-native-social-uikit",
3
- "version": "4.0.0-RC9",
3
+ "version": "4.0.0-b295c41.0",
4
4
  "description": "Social UIKit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -301,7 +301,7 @@ const AmityPostComposerPage: FC<AmityPostComposerPageType> = ({
301
301
  'Discard this post',
302
302
  'The post will be permanently deleted. It cannot be undone',
303
303
  [
304
- { text: 'Keey Editing', style: 'cancel' },
304
+ { text: 'Keep Editing', style: 'cancel' },
305
305
  {
306
306
  text: 'Discard',
307
307
  style: 'destructive',
@@ -21,7 +21,7 @@ export const LinkPreview = React.memo(
21
21
 
22
22
  const fetchData = async () => {
23
23
  setData(undefined);
24
- const newData = await getPreviewData(text, 5000);
24
+ const newData = await getPreviewData(text);
25
25
  if (!isCancelled) {
26
26
  setData(newData);
27
27
  }
@@ -37,8 +37,8 @@ export const LinkPreview = React.memo(
37
37
 
38
38
  const renderImageNode = React.useCallback(
39
39
  (image: PreviewDataImage) => {
40
- const imageUrl = image?.url
41
- ? { uri: image.url }
40
+ const imageUrl = image
41
+ ? { uri: image }
42
42
  : require('../../assets/images/previewLinkDefaultBackground.png');
43
43
 
44
44
  return (
@@ -2,6 +2,7 @@ import { decode } from 'html-entities';
2
2
  import { Image } from 'react-native';
3
3
 
4
4
  import { PreviewData, PreviewDataImage, Size } from './types';
5
+ import { Client } from '@amityco/ts-sdk-react-native';
5
6
 
6
7
  export const getActualImageUrl = (baseUrl: string, imageUrl?: string) => {
7
8
  let actualImageUrl = imageUrl?.trim();
@@ -54,7 +55,7 @@ export const getImageSize = (url: string) => {
54
55
 
55
56
  // Functions below use functions from the same file and mocks are not working
56
57
  /* istanbul ignore next */
57
- export const getPreviewData = async (text: string, requestTimeout = 5000) => {
58
+ export const getPreviewData = async (text: string) => {
58
59
  const previewData: PreviewData = {
59
60
  description: undefined,
60
61
  image: undefined,
@@ -77,114 +78,14 @@ export const getPreviewData = async (text: string, requestTimeout = 5000) => {
77
78
  url = 'https://' + url;
78
79
  }
79
80
 
80
- let abortControllerTimeout: number;
81
- const abortController = new AbortController();
81
+ const request = await Client.fetchLinkPreview(url);
82
82
 
83
- const request = fetch(url, {
84
- headers: {
85
- 'User-Agent':
86
- 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
87
- },
88
- signal: abortController.signal,
89
- });
90
-
91
- abortControllerTimeout = setTimeout(() => {
92
- abortController.abort();
93
- }, requestTimeout);
94
-
95
- const response = await request;
96
-
97
- clearTimeout(abortControllerTimeout);
98
-
99
- previewData.link = url;
100
-
101
- const contentType = response.headers.get('content-type') ?? '';
102
-
103
- if (REGEX_IMAGE_CONTENT_TYPE.test(contentType)) {
104
- const image = await getPreviewDataImage(url);
105
- previewData.image = image;
106
- return previewData;
107
- }
108
-
109
- const html = await response.text();
110
-
111
- // Some pages return undefined
112
- if (!html) return previewData;
113
-
114
- const head = html.substring(0, html.indexOf('<body'));
115
-
116
- // Get page title
117
- const title = REGEX_TITLE.exec(head);
118
- previewData.title = getHtmlEntitiesDecodedText(title?.[1]);
119
-
120
- let matches: RegExpMatchArray | null;
121
- const meta: RegExpMatchArray[] = [];
122
- while ((matches = REGEX_META.exec(head)) !== null) {
123
- // @ts-ignore
124
- meta.push([...matches]);
125
- }
126
-
127
- const metaPreviewData = meta.reduce<{
128
- description?: string;
129
- imageUrl?: string;
130
- title?: string;
131
- }>(
132
- (acc, curr) => {
133
- // Verify that we have property/name and content
134
- // Note that if a page will specify property, name and content in the same meta, regex will fail
135
- if (!curr[2] || !curr[3]) return acc;
136
-
137
- // Only take the first occurrence
138
- // For description take the meta description tag into consideration
139
- const description =
140
- !acc.description &&
141
- (getContent(curr[2], curr[3], 'og:description') ||
142
- getContent(curr[2], curr[3], 'description'));
143
- const ogImage =
144
- !acc.imageUrl && getContent(curr[2], curr[3], 'og:image');
145
- const ogTitle = !acc.title && getContent(curr[2], curr[3], 'og:title');
146
-
147
- return {
148
- description: description
149
- ? getHtmlEntitiesDecodedText(description)
150
- : acc.description,
151
- imageUrl: ogImage ? getActualImageUrl(url, ogImage) : acc.imageUrl,
152
- title: ogTitle ? getHtmlEntitiesDecodedText(ogTitle) : acc.title,
153
- };
154
- },
155
- { title: previewData.title }
156
- );
157
-
158
- previewData.description = metaPreviewData.description;
159
- previewData.image = await getPreviewDataImage(metaPreviewData.imageUrl);
160
- previewData.title = metaPreviewData.title;
161
-
162
- if (!previewData.image) {
163
- let imageMatches: RegExpMatchArray | null;
164
- const tags: RegExpMatchArray[] = [];
165
- while ((imageMatches = REGEX_IMAGE_TAG.exec(html)) !== null) {
166
- // @ts-ignore
167
- tags.push([...imageMatches]);
168
- }
169
-
170
- let images: PreviewDataImage[] = [];
171
-
172
- for (const tag of tags
173
- .filter((t) => !t[1].startsWith('data'))
174
- .slice(0, 5)) {
175
- const image = await getPreviewDataImage(getActualImageUrl(url, tag[1]));
176
-
177
- if (!image) continue;
178
-
179
- images = [...images, image];
180
- }
181
-
182
- previewData.image = images.sort(
183
- (a, b) => b.height * b.width - a.height * a.width
184
- )[0];
185
- }
186
-
187
- return previewData;
83
+ return {
84
+ description: request.description || undefined,
85
+ image: request.image || undefined,
86
+ link: url,
87
+ title: request.title || undefined,
88
+ };
188
89
  } catch {
189
90
  return previewData;
190
91
  }