Merge branch 'develop' into multiple-reactions
This commit is contained in:
commit
0ddd4bc545
|
@ -17,7 +17,7 @@
|
||||||
- Fix: 特定の条件下でノートの削除ボタンが出ないのを修正
|
- Fix: 特定の条件下でノートの削除ボタンが出ないのを修正
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"`の`link`タグがある場合に追ってリンク先を照会できるように
|
- Enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"`の`link`タグがある場合に追ってリンク先を照会できるように
|
||||||
- Enhance: 凍結されたアカウントのフォローリクエストを表示しないように
|
- Enhance: 凍結されたアカウントのフォローリクエストを表示しないように
|
||||||
- Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374
|
- Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374
|
||||||
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
|
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
|
||||||
|
|
|
@ -2499,6 +2499,7 @@ _moderationLogTypes:
|
||||||
createAbuseReportNotificationRecipient: "Create a recipient for abuse reports"
|
createAbuseReportNotificationRecipient: "Create a recipient for abuse reports"
|
||||||
updateAbuseReportNotificationRecipient: "Update recipients for abuse reports"
|
updateAbuseReportNotificationRecipient: "Update recipients for abuse reports"
|
||||||
deleteAbuseReportNotificationRecipient: "Delete a recipient for abuse reports"
|
deleteAbuseReportNotificationRecipient: "Delete a recipient for abuse reports"
|
||||||
|
deleteFlash: "Delete Play"
|
||||||
_fileViewer:
|
_fileViewer:
|
||||||
title: "File details"
|
title: "File details"
|
||||||
type: "File type"
|
type: "File type"
|
||||||
|
|
|
@ -2316,6 +2316,7 @@ _pages:
|
||||||
eyeCatchingImageSet: "设置封面图片"
|
eyeCatchingImageSet: "设置封面图片"
|
||||||
eyeCatchingImageRemove: "删除封面图片"
|
eyeCatchingImageRemove: "删除封面图片"
|
||||||
chooseBlock: "添加块"
|
chooseBlock: "添加块"
|
||||||
|
enterSectionTitle: "输入会话标题"
|
||||||
selectType: "选择类型"
|
selectType: "选择类型"
|
||||||
contentBlocks: "内容"
|
contentBlocks: "内容"
|
||||||
inputBlocks: "输入"
|
inputBlocks: "输入"
|
||||||
|
@ -2499,6 +2500,10 @@ _moderationLogTypes:
|
||||||
createAbuseReportNotificationRecipient: "新建了举报通知"
|
createAbuseReportNotificationRecipient: "新建了举报通知"
|
||||||
updateAbuseReportNotificationRecipient: "更新了举报通知"
|
updateAbuseReportNotificationRecipient: "更新了举报通知"
|
||||||
deleteAbuseReportNotificationRecipient: "删除了举报通知"
|
deleteAbuseReportNotificationRecipient: "删除了举报通知"
|
||||||
|
deleteAccount: "删除了账户"
|
||||||
|
deletePage: "删除了页面"
|
||||||
|
deleteFlash: "删除了 Play"
|
||||||
|
deleteGalleryPost: "删除了图库稿件"
|
||||||
_fileViewer:
|
_fileViewer:
|
||||||
title: "文件信息"
|
title: "文件信息"
|
||||||
type: "文件类型"
|
type: "文件类型"
|
||||||
|
|
|
@ -2316,6 +2316,7 @@ _pages:
|
||||||
eyeCatchingImageSet: "設定封面影像"
|
eyeCatchingImageSet: "設定封面影像"
|
||||||
eyeCatchingImageRemove: "刪除封面影像"
|
eyeCatchingImageRemove: "刪除封面影像"
|
||||||
chooseBlock: "新增方塊"
|
chooseBlock: "新增方塊"
|
||||||
|
enterSectionTitle: "輸入區段的標題"
|
||||||
selectType: "選擇類型"
|
selectType: "選擇類型"
|
||||||
contentBlocks: "內容"
|
contentBlocks: "內容"
|
||||||
inputBlocks: "輸入"
|
inputBlocks: "輸入"
|
||||||
|
@ -2499,6 +2500,10 @@ _moderationLogTypes:
|
||||||
createAbuseReportNotificationRecipient: "建立接收檢舉的通知對象"
|
createAbuseReportNotificationRecipient: "建立接收檢舉的通知對象"
|
||||||
updateAbuseReportNotificationRecipient: "更新接收檢舉的通知對象"
|
updateAbuseReportNotificationRecipient: "更新接收檢舉的通知對象"
|
||||||
deleteAbuseReportNotificationRecipient: "刪除接收檢舉的通知對象"
|
deleteAbuseReportNotificationRecipient: "刪除接收檢舉的通知對象"
|
||||||
|
deleteAccount: "刪除帳戶"
|
||||||
|
deletePage: "刪除頁面"
|
||||||
|
deleteFlash: "刪除 Play"
|
||||||
|
deleteGalleryPost: "刪除相簿的貼文"
|
||||||
_fileViewer:
|
_fileViewer:
|
||||||
title: "檔案詳細資訊"
|
title: "檔案詳細資訊"
|
||||||
type: "檔案類型 "
|
type: "檔案類型 "
|
||||||
|
|
|
@ -203,7 +203,9 @@ export class ApRequestService {
|
||||||
});
|
});
|
||||||
|
|
||||||
//#region リクエスト先がhtmlかつactivity+jsonへのalternate linkタグがあるとき
|
//#region リクエスト先がhtmlかつactivity+jsonへのalternate linkタグがあるとき
|
||||||
if (res.headers.get('Content-type')?.startsWith('text/html;') && _followAlternate === true) {
|
const contentType = res.headers.get('content-type');
|
||||||
|
|
||||||
|
if ((contentType ?? '').split(';')[0].trimEnd().toLowerCase() === 'text/html' && _followAlternate === true) {
|
||||||
const html = await res.text();
|
const html = await res.text();
|
||||||
const window = new Window();
|
const window = new Window();
|
||||||
const document = window.document;
|
const document = window.document;
|
||||||
|
|
|
@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div :class="$style.preview">
|
<div :class="$style.preview">
|
||||||
<div :class="$style.preview__content1">
|
<div>
|
||||||
<MkInput v-model="text">
|
<MkInput v-model="text">
|
||||||
<template #label>Text</template>
|
<template #label>Text</template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
|
|
|
@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<span :class="$style.bodyName">{{ role.name }}</span>
|
<span :class="$style.bodyName">{{ role.name }}</span>
|
||||||
<template v-if="detailed">
|
<template v-if="detailed">
|
||||||
<span v-if="role.target === 'manual'" :class="$style.bodyUsers">{{ role.usersCount }} users</span>
|
<span v-if="role.target === 'manual'" :class="$style.bodyUsers">{{ role.usersCount }} users</span>
|
||||||
<span v-else-if="role.target === 'conditional'" :class="$style.bodyUsers">({{ i18n.ts._role.conditional }})</span>
|
<span v-else-if="role.target === 'conditional'" :class="$style.bodyUsers">? users</span>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div :class="$style.bodyDescription">{{ role.description }}</div>
|
<div :class="$style.bodyDescription">{{ role.description }}</div>
|
||||||
|
|
|
@ -72,10 +72,6 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<img src="https://avatars.githubusercontent.com/u/4439005?v=4" :class="$style.contributorAvatar">
|
<img src="https://avatars.githubusercontent.com/u/4439005?v=4" :class="$style.contributorAvatar">
|
||||||
<span :class="$style.contributorUsername">@syuilo</span>
|
<span :class="$style.contributorUsername">@syuilo</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/tamaina" target="_blank" :class="$style.contributor">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/7973572?v=4" :class="$style.contributorAvatar">
|
|
||||||
<span :class="$style.contributorUsername">@tamaina</span>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/acid-chicken" target="_blank" :class="$style.contributor">
|
<a href="https://github.com/acid-chicken" target="_blank" :class="$style.contributor">
|
||||||
<img src="https://avatars.githubusercontent.com/u/20679825?v=4" :class="$style.contributorAvatar">
|
<img src="https://avatars.githubusercontent.com/u/20679825?v=4" :class="$style.contributorAvatar">
|
||||||
<span :class="$style.contributorUsername">@acid-chicken</span>
|
<span :class="$style.contributorUsername">@acid-chicken</span>
|
||||||
|
|
|
@ -236,10 +236,12 @@ function reportAbuse() {
|
||||||
|
|
||||||
const pageUrl = `${url}/play/${flash.value.id}`;
|
const pageUrl = `${url}/play/${flash.value.id}`;
|
||||||
|
|
||||||
os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
||||||
user: flash.value.user,
|
user: flash.value.user,
|
||||||
initialComment: `Play: ${pageUrl}\n-----\n`,
|
initialComment: `Play: ${pageUrl}\n-----\n`,
|
||||||
}, {}, 'closed');
|
}, {
|
||||||
|
closed: () => dispose(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function showMenu(ev: MouseEvent) {
|
function showMenu(ev: MouseEvent) {
|
||||||
|
|
|
@ -160,10 +160,12 @@ function reportAbuse() {
|
||||||
|
|
||||||
const pageUrl = `${url}/gallery/${post.value.id}`;
|
const pageUrl = `${url}/gallery/${post.value.id}`;
|
||||||
|
|
||||||
os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
||||||
user: post.value.user,
|
user: post.value.user,
|
||||||
initialComment: `Post: ${pageUrl}\n-----\n`,
|
initialComment: `Post: ${pageUrl}\n-----\n`,
|
||||||
}, {}, 'closed');
|
}, {
|
||||||
|
closed: () => dispose(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function showMenu(ev: MouseEvent) {
|
function showMenu(ev: MouseEvent) {
|
||||||
|
|
|
@ -245,10 +245,12 @@ function reportAbuse() {
|
||||||
|
|
||||||
const pageUrl = `${url}/@${props.username}/pages/${props.pageName}`;
|
const pageUrl = `${url}/@${props.username}/pages/${props.pageName}`;
|
||||||
|
|
||||||
os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkAbuseReportWindow.vue')), {
|
||||||
user: page.value.user,
|
user: page.value.user,
|
||||||
initialComment: `Page: ${pageUrl}\n-----\n`,
|
initialComment: `Page: ${pageUrl}\n-----\n`,
|
||||||
}, {}, 'closed');
|
}, {
|
||||||
|
closed: () => dispose(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function showMenu(ev: MouseEvent) {
|
function showMenu(ev: MouseEvent) {
|
||||||
|
|
|
@ -4,9 +4,12 @@ import type {
|
||||||
Ad,
|
Ad,
|
||||||
Announcement,
|
Announcement,
|
||||||
EmojiDetailed,
|
EmojiDetailed,
|
||||||
|
Flash,
|
||||||
|
GalleryPost,
|
||||||
InviteCode,
|
InviteCode,
|
||||||
MetaDetailed,
|
MetaDetailed,
|
||||||
Note,
|
Note,
|
||||||
|
Page,
|
||||||
Role,
|
Role,
|
||||||
ReversiGameDetailed,
|
ReversiGameDetailed,
|
||||||
SystemWebhook,
|
SystemWebhook,
|
||||||
|
@ -405,18 +408,18 @@ export type ModerationLogPayloads = {
|
||||||
pageId: string;
|
pageId: string;
|
||||||
pageUserId: string;
|
pageUserId: string;
|
||||||
pageUserUsername: string;
|
pageUserUsername: string;
|
||||||
page: any;
|
page: Page;
|
||||||
};
|
};
|
||||||
deleteFlash: {
|
deleteFlash: {
|
||||||
flashId: string;
|
flashId: string;
|
||||||
flashUserId: string;
|
flashUserId: string;
|
||||||
flashUserUsername: string;
|
flashUserUsername: string;
|
||||||
flash: any;
|
flash: Flash;
|
||||||
};
|
};
|
||||||
deleteGalleryPost: {
|
deleteGalleryPost: {
|
||||||
postId: string;
|
postId: string;
|
||||||
postUserId: string;
|
postUserId: string;
|
||||||
postUserUsername: string;
|
postUserUsername: string;
|
||||||
post: any;
|
post: GalleryPost;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue