Merge remote-tracking branch 'refs/remotes/misskey-original/develop' into develop
# Conflicts: # packages/frontend/src/components/MkAbuseReport.vue # packages/frontend/src/components/MkMention.vue
This commit is contained in:
		
						commit
						67b0e244a0
					
				|  | @ -61,6 +61,7 @@ jobs: | |||
|         - | ||||
| 
 | ||||
|       use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }} | ||||
|       indent: ${{ vars.INDENT }} | ||||
|     secrets: | ||||
|       RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }} | ||||
|       RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} | ||||
|  | @ -75,6 +76,7 @@ jobs: | |||
|       pr_number: ${{ needs.get-pr.outputs.pr_number }} | ||||
|       package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }} | ||||
|       use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }} | ||||
|       indent: ${{ vars.INDENT }} | ||||
|     secrets: | ||||
|       RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }} | ||||
|       RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} | ||||
|  | @ -115,6 +117,7 @@ jobs: | |||
|       #  } | ||||
|       package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }} | ||||
|       use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }} | ||||
|       indent: ${{ vars.INDENT }} | ||||
|     secrets: | ||||
|       RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }} | ||||
|       RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} | ||||
|  |  | |||
|  | @ -33,6 +33,7 @@ jobs: | |||
|       pr_number: ${{ github.event.pull_request.number }} | ||||
|       package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }} | ||||
|       use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }} | ||||
|       indent: ${{ vars.INDENT }} | ||||
|     secrets: | ||||
|       RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }} | ||||
|       RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ | |||
| - Enhance: Playを手動でリロードできるように | ||||
| - Enhance: 通報のコメント内のリンクをクリックした際、ウィンドウで開くように | ||||
| - Enhance: `Ui:C:postForm` および `Ui:C:postFormButton` に `localOnly` と `visibility` を設定できるように | ||||
| - Chore: AiScriptを0.18.0にバージョンアップ | ||||
| - Enhance: AiScriptを0.18.0にバージョンアップ | ||||
| - Fix: 一部のページ内リンクが正しく動作しない問題を修正 | ||||
| - Fix: 周年の実績が閏年を考慮しない問題を修正 | ||||
| - Fix: ローカルURLのプレビューポップアップが左上に表示される | ||||
|  | @ -63,6 +63,8 @@ | |||
| ### Server | ||||
| - Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに | ||||
| - Enhance: misskey-dev/summaly@5.1.0の取り込み(プレビュー生成処理の効率化) | ||||
| - Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756) | ||||
|   - 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります | ||||
| - Fix: リモートから配送されたアクティビティにJSON-LD compactionをかける | ||||
| - Fix: フォローリクエストを作成する際に既存のものは削除するように   | ||||
|   (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440) | ||||
|  | @ -78,8 +80,6 @@ | |||
| - Fix: グローバルタイムラインで返信が表示されないことがある問題を修正 | ||||
| - Fix: リノートをミュートしたユーザの投稿のリノートがミュートされる問題を修正 | ||||
| - Fix: AP Link等は添付ファイル扱いしないようになど (#13754) | ||||
| - Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756) | ||||
|   - 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります | ||||
| 
 | ||||
| ## 2024.3.1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| 	</div> | ||||
| 	<div :class="$style.detail"> | ||||
| 		<div> | ||||
| 			<Mfm :text="report.comment" :linkBehavior="'window'"/> | ||||
| 			<Mfm :text="report.comment" :linkNavigationBehavior="'window'"/> | ||||
| 			<MkFolder v-if="report.notes.length !== 0" :class="$style.notes"> | ||||
| 				<template #label>{{ i18n.ts.reportedNote }}</template> | ||||
| 				<div v-for="note in report.notes" :class="$style.notes"> | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| <template> | ||||
| <component | ||||
| 	:is="self ? 'MkA' : 'a'" ref="el" style="word-break: break-all;" class="_link" :[attr]="self ? url.substring(local.length) : url" :rel="rel ?? 'nofollow noopener'" :target="target" | ||||
| 	:behavior="props.behavior" | ||||
| 	:behavior="props.navigationBehavior" | ||||
| 	:title="url" | ||||
| > | ||||
| 	<slot></slot> | ||||
|  | @ -25,7 +25,7 @@ import { MkABehavior } from '@/components/global/MkA.vue'; | |||
| const props = withDefaults(defineProps<{ | ||||
| 	url: string; | ||||
| 	rel?: null | string; | ||||
| 	behavior?: MkABehavior; | ||||
| 	navigationBehavior?: MkABehavior; | ||||
| }>(), { | ||||
| }); | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| --> | ||||
| 
 | ||||
| <template> | ||||
| <MkA v-user-preview="canonical" :class="[$style.root, { [$style.isMe]: isMe && gamingType === '' , [$style.gamingDark]: gamingType === 'dark',[$style.gamingLight]: gamingType === 'light' }]" :to="url" :style="{ background: bgCss }" :behavior="behavior"> | ||||
| <MkA v-user-preview="canonical" :class="[$style.root, { [$style.isMe]: isMe && gamingType === '' , [$style.gamingDark]: gamingType === 'dark',[$style.gamingLight]: gamingType === 'light' }]" :to="url" :style="{ background: bgCss }" :behavior="navigationBehavior"> | ||||
| 	<img :class="$style.icon" :src="avatarUrl" alt=""> | ||||
| 	<span> | ||||
| 		<span>@{{ username }}</span> | ||||
|  | @ -28,7 +28,7 @@ const gamingType = computed(defaultStore.makeGetterSetter('gamingType')); | |||
| const props = defineProps<{ | ||||
| 	username: string; | ||||
| 	host: string; | ||||
| 	behavior?: MkABehavior; | ||||
| 	navigationBehavior?: MkABehavior; | ||||
| }>(); | ||||
| 
 | ||||
| const canonical = props.host === localHost ? `@${props.username}` : `@${props.username}@${toUnicode(props.host)}`; | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ export type MkABehavior = 'window' | 'browser' | null; | |||
| </script> | ||||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { computed, shallowRef } from 'vue'; | ||||
| import { computed, inject, shallowRef } from 'vue'; | ||||
| import * as os from '@/os.js'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard.js'; | ||||
| import { url } from '@/config.js'; | ||||
|  | @ -30,7 +30,7 @@ const props = withDefaults(defineProps<{ | |||
| 	behavior: null, | ||||
| }); | ||||
| 
 | ||||
| const linkBehaviour = props.behavior; | ||||
| const behavior = props.behavior ?? inject<MkABehavior>('linkNavigationBehavior', null); | ||||
| 
 | ||||
| const el = shallowRef<HTMLElement>(); | ||||
| 
 | ||||
|  | @ -86,15 +86,13 @@ function openWindow() { | |||
| } | ||||
| 
 | ||||
| function nav(ev: MouseEvent) { | ||||
| 	if (props.behavior === 'browser') { | ||||
| 	if (behavior === 'browser') { | ||||
| 		location.href = props.to; | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (props.behavior) { | ||||
| 		if (props.behavior === 'window') { | ||||
| 			return openWindow(); | ||||
| 		} | ||||
| 	if (behavior === 'window') { | ||||
| 		return openWindow(); | ||||
| 	} | ||||
| 
 | ||||
| 	if (ev.shiftKey) { | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|  * SPDX-License-Identifier: AGPL-3.0-only | ||||
|  */ | ||||
| 
 | ||||
| import { VNode, h, SetupContext } from 'vue'; | ||||
| import { VNode, h, SetupContext, provide } from 'vue'; | ||||
| import * as mfm from 'mfm-js'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import MkUrl from '@/components/global/MkUrl.vue'; | ||||
|  | @ -77,7 +77,7 @@ type MfmProps = { | |||
| 	parsedNodes?: mfm.MfmNode[] | null; | ||||
| 	enableEmojiMenu?: boolean; | ||||
| 	enableEmojiMenuReaction?: boolean; | ||||
| 	linkBehavior?: MkABehavior; | ||||
| 	linkNavigationBehavior?: MkABehavior; | ||||
| }; | ||||
| 
 | ||||
| type MfmEvents = { | ||||
|  | @ -86,6 +86,8 @@ type MfmEvents = { | |||
| 
 | ||||
| // eslint-disable-next-line import/no-default-export
 | ||||
| export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEvents>['emit'] }) { | ||||
| 	provide('linkNavigationBehavior', props.linkNavigationBehavior); | ||||
| 
 | ||||
| 	const isNote = props.isNote ?? true; | ||||
| 	const shouldNyaize = props.nyaize ? props.nyaize === 'respect' ? props.author?.isCat : false : false; | ||||
| 	const shouldUhoize = props.nyaize ? props.nyaize === 'respect' ? props.author?.isGorilla : false : false; | ||||
|  | @ -416,7 +418,6 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven | |||
| 					key: Math.random(), | ||||
| 					url: token.props.url, | ||||
| 					rel: 'nofollow noopener', | ||||
| 					behavior: props.linkBehavior, | ||||
| 				})]; | ||||
| 			} | ||||
| 
 | ||||
|  | @ -425,7 +426,6 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven | |||
| 					key: Math.random(), | ||||
| 					url: token.props.url, | ||||
| 					rel: 'nofollow noopener', | ||||
| 					behavior: props.linkBehavior, | ||||
| 				}, genEl(token.children, scale, true))]; | ||||
| 			} | ||||
| 
 | ||||
|  | @ -434,7 +434,6 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven | |||
| 					key: Math.random(), | ||||
| 					host: (token.props.host == null && props.author && props.author.host != null ? props.author.host : token.props.host) ?? host, | ||||
| 					username: token.props.username, | ||||
| 					behavior: props.linkBehavior, | ||||
| 				})]; | ||||
| 			} | ||||
| 
 | ||||
|  | @ -443,7 +442,6 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven | |||
| 					key: Math.random(), | ||||
| 					to: isNote ? `/tags/${encodeURIComponent(token.props.hashtag)}` : `/user-tags/${encodeURIComponent(token.props.hashtag)}`, | ||||
| 					style: 'color:var(--hashtag);', | ||||
| 					behavior: props.linkBehavior, | ||||
| 				}, `#${token.props.hashtag}`)]; | ||||
| 			} | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| <template> | ||||
| <component | ||||
| 	:is="self ? 'MkA' : 'a'" ref="el" :class="$style.root" class="_link" :[attr]="self ? props.url.substring(local.length) : props.url" :rel="rel ?? 'nofollow noopener'" :target="target" | ||||
| 	:behavior = "props.behavior" | ||||
| 	:behavior="props.navigationBehavior" | ||||
| 	@contextmenu.stop="() => {}" | ||||
| > | ||||
| 	<template v-if="!self"> | ||||
|  | @ -38,7 +38,7 @@ const props = withDefaults(defineProps<{ | |||
| 	url: string; | ||||
| 	rel?: string; | ||||
| 	showUrlPreview?: boolean; | ||||
| 	behavior?: MkABehavior; | ||||
| 	navigationBehavior?: MkABehavior; | ||||
| }>(), { | ||||
| 	showUrlPreview: true, | ||||
| }); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue