fix(frontend/MkUrlPreview): summalyがエラーになった際の挙動を修正
This commit is contained in:
parent
45263f4cd0
commit
dd60f1a533
|
@ -21,6 +21,7 @@
|
||||||
### Client
|
### Client
|
||||||
- 開発者モードを追加
|
- 開発者モードを追加
|
||||||
- AiScriptを0.13.3に更新
|
- AiScriptを0.13.3に更新
|
||||||
|
- Fix: URLプレビューで情報が取得できなかった際の挙動を修正
|
||||||
|
|
||||||
## 13.12.2
|
## 13.12.2
|
||||||
|
|
||||||
|
|
|
@ -1048,6 +1048,7 @@ preventAiLearning: "生成AIによる学習を拒否"
|
||||||
preventAiLearningDescription: "外部の文章生成AIや画像生成AIに対して、投稿したノートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。"
|
preventAiLearningDescription: "外部の文章生成AIや画像生成AIに対して、投稿したノートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。"
|
||||||
options: "オプション"
|
options: "オプション"
|
||||||
specifyUser: "ユーザー指定"
|
specifyUser: "ユーザー指定"
|
||||||
|
failedToPreviewUrl: "プレビューできません"
|
||||||
|
|
||||||
_initialAccountSetting:
|
_initialAccountSetting:
|
||||||
accountCreated: "アカウントの作成が完了しました!"
|
accountCreated: "アカウントの作成が完了しました!"
|
||||||
|
|
|
@ -41,14 +41,14 @@
|
||||||
<h1 v-else-if="fetching" :class="$style.title"><MkEllipsis/></h1>
|
<h1 v-else-if="fetching" :class="$style.title"><MkEllipsis/></h1>
|
||||||
<h1 v-else :class="$style.title" :title="title ?? undefined">{{ title }}</h1>
|
<h1 v-else :class="$style.title" :title="title ?? undefined">{{ title }}</h1>
|
||||||
</header>
|
</header>
|
||||||
<p v-if="unknownUrl" :class="$style.text">{{ i18n.ts.cannotLoad }}</p>
|
<p v-if="unknownUrl" :class="$style.text">{{ i18n.ts.failedToPreviewUrl }}</p>
|
||||||
<p v-else-if="fetching" :class="$style.text"><MkEllipsis/></p>
|
<p v-else-if="fetching" :class="$style.text"><MkEllipsis/></p>
|
||||||
<p v-else-if="description" :class="$style.text" :title="description">{{ description.length > 85 ? description.slice(0, 85) + '…' : description }}</p>
|
<p v-else-if="description" :class="$style.text" :title="description">{{ description.length > 85 ? description.slice(0, 85) + '…' : description }}</p>
|
||||||
<footer :class="$style.footer">
|
<footer :class="$style.footer">
|
||||||
<img v-if="icon" :class="$style.siteIcon" :src="icon"/>
|
<img v-if="icon" :class="$style.siteIcon" :src="icon"/>
|
||||||
<p v-if="unknownUrl" :class="$style.siteName">?</p>
|
<p v-if="unknownUrl" :class="$style.siteName">{{ requestUrl.host }}</p>
|
||||||
<p v-else-if="fetching" :class="$style.siteName"><MkEllipsis/></p>
|
<p v-else-if="fetching" :class="$style.siteName"><MkEllipsis/></p>
|
||||||
<p v-else :class="$style.siteName" :title="sitename ?? undefined">{{ sitename }}</p>
|
<p v-else :class="$style.siteName" :title="sitename ?? requestUrl.host">{{ sitename ?? requestUrl.host }}</p>
|
||||||
</footer>
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
</component>
|
</component>
|
||||||
|
@ -128,17 +128,33 @@ if (requestUrl.hostname === 'music.youtube.com' && requestUrl.pathname.match('^/
|
||||||
|
|
||||||
requestUrl.hash = '';
|
requestUrl.hash = '';
|
||||||
|
|
||||||
window.fetch(`/url?url=${encodeURIComponent(requestUrl.href)}&lang=${versatileLang}`).then(res => {
|
window.fetch(`/url?url=${encodeURIComponent(requestUrl.href)}&lang=${versatileLang}`)
|
||||||
res.json().then((info: SummalyResult) => {
|
.then(res => {
|
||||||
|
if (!res.ok) {
|
||||||
|
fetching = false;
|
||||||
|
unknownUrl = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.json();
|
||||||
|
})
|
||||||
|
.then((info: SummalyResult) => {
|
||||||
|
if (info.url == null) {
|
||||||
|
fetching = false;
|
||||||
|
unknownUrl = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fetching = false;
|
||||||
|
unknownUrl = false;
|
||||||
|
|
||||||
title = info.title;
|
title = info.title;
|
||||||
description = info.description;
|
description = info.description;
|
||||||
thumbnail = info.thumbnail;
|
thumbnail = info.thumbnail;
|
||||||
icon = info.icon;
|
icon = info.icon;
|
||||||
sitename = info.sitename;
|
sitename = info.sitename;
|
||||||
fetching = false;
|
|
||||||
player = info.player;
|
player = info.player;
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
function adjustTweetHeight(message: any) {
|
function adjustTweetHeight(message: any) {
|
||||||
if (message.origin !== 'https://platform.twitter.com') return;
|
if (message.origin !== 'https://platform.twitter.com') return;
|
||||||
|
|
Loading…
Reference in a new issue