diff options
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | src/lib/link-meta.ts | 5 | ||||
-rw-r--r-- | src/view/com/util/PostEmbeds.tsx | 7 | ||||
-rw-r--r-- | yarn.lock | 5 |
4 files changed, 12 insertions, 7 deletions
diff --git a/package.json b/package.json index 6d54102c8..44b47d53c 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@zxing/text-encoding": "^0.9.0", "base64-js": "^1.5.1", "email-validator": "^2.0.4", + "he": "^1.2.0", "lodash.chunk": "^4.2.0", "lodash.omit": "^4.5.0", "lru_map": "^0.4.1", @@ -53,6 +54,7 @@ "@babel/core": "^7.12.9", "@babel/runtime": "^7.12.5", "@react-native-community/eslint-config": "^2.0.0", + "@types/he": "^1.1.2", "@types/jest": "^26.0.23", "@types/lodash.chunk": "^4.2.7", "@types/lodash.omit": "^4.5.7", diff --git a/src/lib/link-meta.ts b/src/lib/link-meta.ts index b48d920a1..c1739ae3b 100644 --- a/src/lib/link-meta.ts +++ b/src/lib/link-meta.ts @@ -1,3 +1,4 @@ +import he from 'he' import { extractHtmlMeta, isBskyAppUrl, @@ -59,8 +60,10 @@ export async function getLinkMeta(url: string): Promise<LinkMeta> { const httpRes = await fetch(url) const httpResBody = await httpRes.text() const httpResMeta = extractHtmlMeta(httpResBody) - meta.title = httpResMeta.title + meta.title = httpResMeta.title ? he.decode(httpResMeta.title) : undefined meta.description = httpResMeta.description + ? he.decode(httpResMeta.description) + : undefined // TODO meta.image = httpResMeta.image } catch (e) { // failed diff --git a/src/view/com/util/PostEmbeds.tsx b/src/view/com/util/PostEmbeds.tsx index ca02aba84..1591c658a 100644 --- a/src/view/com/util/PostEmbeds.tsx +++ b/src/view/com/util/PostEmbeds.tsx @@ -9,12 +9,7 @@ import { } from 'react-native' import {Entity} from '../../../third-party/api/src/client/types/app/bsky/feed/post' import {Link} from '../util/Link' -import { - LinkMeta, - getLinkMeta, - getLikelyType, - LikelyType, -} from '../../../lib/link-meta' +import {LinkMeta, getLikelyType, LikelyType} from '../../../lib/link-meta' import {colors} from '../../lib/styles' import {useStores} from '../../../state' diff --git a/yarn.lock b/yarn.lock index 21f33f82a..1160158e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2448,6 +2448,11 @@ resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.41.tgz#f6ecf57d1b12d2befcce00e928a6a097c22980aa" integrity sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA== +"@types/he@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/he/-/he-1.1.2.tgz#0c8b275f36d2b8b651104638e4d45693349c3953" + integrity sha512-kSJPcLO1x+oolc0R89pUl2kozldQ/fVQ1C1p5mp8fPoLdF/ZcBvckaTC2M8xXh3GYendXvCpy5m/a2eSbfgNgw== + "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" |