Skip to content

Commit

Permalink
Merge branch 'develop' into fix/aiscript-ui-type-errors
Browse files Browse the repository at this point in the history
  • Loading branch information
takejohn committed Jan 26, 2025
2 parents 5aa57e2 + abb1e4b commit 716dee2
Show file tree
Hide file tree
Showing 31 changed files with 872 additions and 422 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
(Based on https://github.com/Otaku-Social/maniakey/pull/14)
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Enhance: クエリパラメータでuiを一時的に変更できるように #15240
- Enhance: リモート絵文字のインポート時に詳細を確認できるように #15336
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
- Fix: サーバー情報メニューに区切り線が不足していたのを修正
- Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
Expand All @@ -37,6 +38,7 @@
(Cherry-picked from https://github.com/TeamNijimiss/misskey/commit/800359623e41a662551d774de15b0437b6849bb4)
- Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
- Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
- Fix: MacOSでChrome系ブラウザを使用している場合に、Misskeyを閉じた際に他のタブのオーディオ機能と干渉する問題を修正
- Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
- Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( #14476 )
- Fix: RSSウィジェットが正しく表示されない問題を修正
Expand All @@ -57,6 +59,7 @@
- Fix: ユーザーのプロフィール画面をアドレス入力などで直接表示した際に概要タブの描画に失敗する問題の修正( #15032 )
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737)
- Fix: ノートの閲覧にログイン必須にしてもFeedでノートが表示されてしまう問題を修正
- Fix: 絵文字の連合でライセンス欄を相互にやり取りするように ( #10859, #14109 )
- Fix: ロックダウンされた期間指定のノートがStreaming経由でLTLに出現するのを修正 ( #15200 )
- Fix: disableClustering設定時の初期化ロジックを調整( #15223 )
Expand Down
2 changes: 1 addition & 1 deletion locales/de-DE.yml
Original file line number Diff line number Diff line change
Expand Up @@ -684,7 +684,7 @@ smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest."
testEmail: "Emailversand testen"
wordMute: "Wortstummschaltung"
wordMuteDescription: "Minimiert Notizen, die das angegebene Wort oder den angegebenen Ausdruck enthalten. Minimierte Notizen können angezeigt werden, indem du auf sie klickst."
hardWordMute: "Harte Wort-Stummschaltung"
hardWordMute: "Harte Wortstummschaltung"
showMutedWord: "Stummgeschaltete Wörter anzeigen"
hardWordMuteDescription: "Blendet Notizen aus, die das angegebene Wort oder die angegebene Phrase enthalten. Im Gegensatz zur Wortstummschaltung wird die Notiz vollständig ausgeblendet."
regexpError: "Fehler in einem regulären Ausdruck"
Expand Down
47 changes: 24 additions & 23 deletions locales/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10588,7 +10588,7 @@ export interface Locale extends ILocale {
*/
"deleteSelectionRows": string;
/**
* 選択範囲の行を削除
* 選択範囲の値をクリア
*/
"deleteSelectionRanges": string;
/**
Expand All @@ -10599,6 +10599,10 @@ export interface Locale extends ILocale {
* 検索条件を詳細に設定します。
*/
"searchSettingCaption": string;
/**
* 表示件数
*/
"searchLimit": string;
/**
* 並び順
*/
Expand All @@ -10611,10 +10615,6 @@ export interface Locale extends ILocale {
* 絵文字更新・削除時のログが表示されます。更新・削除操作を行ったり、ページを遷移・リロードすると消えます。
*/
"registrationLogsCaption": string;
/**
* エラー
*/
"alertEmojisRegisterFailedTitle": string;
/**
* 絵文字の更新・削除に失敗しました。詳細は登録ログをご確認ください。
*/
Expand All @@ -10635,6 +10635,10 @@ export interface Locale extends ILocale {
"logNothing": string;
};
"_remote": {
/**
* 選択行の詳細
*/
"selectionRowDetail": string;
/**
* 選択行をインポート
*/
Expand Down Expand Up @@ -10687,21 +10691,30 @@ export interface Locale extends ILocale {
*/
"alertDeleteEmojisNothingDescription": string;
/**
* 確認
* ページを移動しますか?
*/
"confirmUpdateEmojisTitle": string;
"confirmMovePage": string;
/**
* {count}個の絵文字を更新します。実行しますか
* 表示を変更しますか
*/
"confirmUpdateEmojisDescription": ParameterizedString<"count">;
"confirmChangeView": string;
/**
* 確認
* {count}個の絵文字を更新します。実行しますか?
*/
"confirmDeleteEmojisTitle": string;
"confirmUpdateEmojisDescription": ParameterizedString<"count">;
/**
* チェックがつけられた{count}個の絵文字を削除します。実行しますか?
*/
"confirmDeleteEmojisDescription": ParameterizedString<"count">;
/**
* 今までに加えた変更がすべてリセットされます。
*/
"confirmResetDescription": string;
/**
* このページの絵文字に変更が加えられています。
* 保存せずにこのままページを移動すると、このページで加えた変更はすべて破棄されます。
*/
"confirmMovePageDesciption": string;
/**
* 絵文字に設定されたロールで検索
*/
Expand Down Expand Up @@ -10740,26 +10753,14 @@ export interface Locale extends ILocale {
* このリンクをクリックしてドライブから選択する
*/
"emojiInputAreaList3": string;
/**
* 確認
*/
"confirmRegisterEmojisTitle": string;
/**
* リストに表示されている絵文字を新たなカスタム絵文字として登録します。よろしいですか?(負荷を避けるため、一度の操作で登録可能な絵文字は{count}件までです)
*/
"confirmRegisterEmojisDescription": ParameterizedString<"count">;
/**
* 確認
*/
"confirmClearEmojisTitle": string;
/**
* 編集内容を破棄し、リストに表示されている絵文字をクリアします。よろしいですか?
*/
"confirmClearEmojisDescription": string;
/**
* 確認
*/
"confirmUploadEmojisTitle": string;
/**
* ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードします。実行しますか?
*/
Expand Down
14 changes: 7 additions & 7 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2824,19 +2824,20 @@ _customEmojisManager:
copySelectionRows: "選択行をコピー"
copySelectionRanges: "選択範囲をコピー"
deleteSelectionRows: "選択行を削除"
deleteSelectionRanges: "選択範囲の行を削除"
deleteSelectionRanges: "選択範囲の値をクリア"
searchSettings: "検索設定"
searchSettingCaption: "検索条件を詳細に設定します。"
searchLimit: "表示件数"
sortOrder: "並び順"
registrationLogs: "登録ログ"
registrationLogsCaption: "絵文字更新・削除時のログが表示されます。更新・削除操作を行ったり、ページを遷移・リロードすると消えます。"
alertEmojisRegisterFailedTitle: "エラー"
alertEmojisRegisterFailedDescription: "絵文字の更新・削除に失敗しました。詳細は登録ログをご確認ください。"
_logs:
showSuccessLogSwitch: "成功ログを表示"
failureLogNothing: "失敗ログはありません。"
logNothing: "ログはありません。"
_remote:
selectionRowDetail: "選択行の詳細"
importSelectionRows: "選択行をインポート"
importSelectionRangesRows: "選択範囲の行をインポート"
importEmojisButton: "チェックされた絵文字をインポート"
Expand All @@ -2851,10 +2852,12 @@ _customEmojisManager:
markAsDeleteTargetRanges: "選択範囲の行を削除対象にする"
alertUpdateEmojisNothingDescription: "変更された絵文字はありません。"
alertDeleteEmojisNothingDescription: "削除対象の絵文字はありません。"
confirmUpdateEmojisTitle: "確認"
confirmMovePage: "ページを移動しますか?"
confirmChangeView: "表示を変更しますか?"
confirmUpdateEmojisDescription: "{count}個の絵文字を更新します。実行しますか?"
confirmDeleteEmojisTitle: "確認"
confirmDeleteEmojisDescription: "チェックがつけられた{count}個の絵文字を削除します。実行しますか?"
confirmResetDescription: "今までに加えた変更がすべてリセットされます。"
confirmMovePageDesciption: "このページの絵文字に変更が加えられています。\n保存せずにこのままページを移動すると、このページで加えた変更はすべて破棄されます。"
dialogSelectRoleTitle: "絵文字に設定されたロールで検索"
_register:
uploadSettingTitle: "アップロード設定"
Expand All @@ -2865,11 +2868,8 @@ _customEmojisManager:
emojiInputAreaList1: "この枠に画像ファイルまたはディレクトリをドラッグ&ドロップ"
emojiInputAreaList2: "このリンクをクリックしてPCから選択する"
emojiInputAreaList3: "このリンクをクリックしてドライブから選択する"
confirmRegisterEmojisTitle: "確認"
confirmRegisterEmojisDescription: "リストに表示されている絵文字を新たなカスタム絵文字として登録します。よろしいですか?(負荷を避けるため、一度の操作で登録可能な絵文字は{count}件までです)"
confirmClearEmojisTitle: "確認"
confirmClearEmojisDescription: "編集内容を破棄し、リストに表示されている絵文字をクリアします。よろしいですか?"
confirmUploadEmojisTitle: "確認"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードします。実行しますか?"

_embedCodeGen:
Expand Down
2 changes: 1 addition & 1 deletion locales/ru-RU.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1063,7 +1063,7 @@ hiddenTags: "Скрытые хештеги"
notesSearchNotAvailable: "Поиск заметок недоступен"
license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?"
myClips: "Мои клипы"
myClips: "Мои подборки"
drivecleaner: "Очиститель дисков"
retryAllQueuesNow: "Повторить все очереди сейчас"
retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "2025.1.0-beta.2",
"version": "2025.1.0-beta.3",
"codename": "nasubi",
"repository": {
"type": "git",
Expand Down
1 change: 1 addition & 0 deletions packages/backend/src/server/web/ClientServerService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,7 @@ export class ClientServerService {
usernameLower: username.toLowerCase(),
host: host ?? IsNull(),
isSuspended: false,
requireSigninToViewContents: false,
});

return user && await this.feedService.packFeed(user);
Expand Down
132 changes: 132 additions & 0 deletions packages/frontend/src/components/MkRemoteEmojiEditDialog.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->

<template>
<MkWindow
ref="windowEl"
:initialWidth="400"
:initialHeight="500"
:canResize="true"
@close="windowEl?.close()"
@closed="emit('closed')"
>
<template #header>:{{ name }}:</template>

<div style="display: flex; flex-direction: column; min-height: 100%;">
<MkSpacer :marginMin="20" :marginMax="28" style="flex-grow: 1;">
<div class="_gaps_m">
<div v-if="imgUrl != null" :class="$style.imgs">
<div style="background: #000;" :class="$style.imgContainer">
<img :src="imgUrl" :class="$style.img" :alt="name"/>
</div>
<div style="background: #222;" :class="$style.imgContainer">
<img :src="imgUrl" :class="$style.img" :alt="name"/>
</div>
<div style="background: #ddd;" :class="$style.imgContainer">
<img :src="imgUrl" :class="$style.img" :alt="name"/>
</div>
<div style="background: #fff;" :class="$style.imgContainer">
<img :src="imgUrl" :class="$style.img" :alt="name"/>
</div>
</div>

<MkKeyValue>
<template #key>{{ i18n.ts.id }}</template>
<template #value>{{ name }}</template>
</MkKeyValue>
<MkKeyValue>
<template #key>{{ i18n.ts.host }}</template>
<template #value>{{ host }}</template>
</MkKeyValue>
<MkKeyValue>
<template #key>{{ i18n.ts.license }}</template>
<template #value>{{ license }}</template>
</MkKeyValue>
</div>
</MkSpacer>
<div :class="$style.footer">
<MkButton primary rounded style="margin: 0 auto;" @click="done">
<i class="ti ti-plus"></i> {{ i18n.ts.import }}
</MkButton>
</div>
</div>
</MkWindow>
</template>

<script lang="ts" setup>
import { computed, ref } from 'vue';
import MkKeyValue from '@/components/MkKeyValue.vue';
import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/MkInput.vue';
import MkTextarea from '@/components/MkTextarea.vue';
import MkWindow from '@/components/MkWindow.vue';
import { i18n } from '@/i18n.js';
import * as os from '@/os.js';

const props = defineProps<{
emoji: {
id: string,
name: string,
host: string,
license: string | null,
url: string
},
}>();

const emit = defineEmits<{
// 必要なら戻り値を増やす
(ev: 'done'): void,
(ev: 'closed'): void
}>();

const windowEl = ref<InstanceType<typeof MkWindow> | null>(null);

const name = computed(() => props.emoji.name);
const host = computed(() => props.emoji.host);
const license = computed(() => props.emoji.license);
const imgUrl = computed(() => props.emoji.url);

async function done() {
await os.apiWithDialog('admin/emoji/copy', {
emojiId: props.emoji.id,
});

emit('done');
windowEl.value?.close();
}
</script>

<style lang="scss" module>
.imgs {
display: flex;
gap: 8px;
flex-wrap: wrap;
justify-content: center;
}

.imgContainer {
padding: 8px;
border-radius: 6px;
}

.img {
display: block;
height: 64px;
width: 64px;
object-fit: contain;
}

.footer {
position: sticky;
z-index: 10000;
bottom: 0;
left: 0;
padding: 12px;
border-top: solid 0.5px var(--MI_THEME-divider);
background: var(--MI_THEME-acrylicBg);
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
backdrop-filter: var(--MI-blur, blur(15px));
}
</style>
8 changes: 7 additions & 1 deletion packages/frontend/src/components/MkSortOrderEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ SPDX-License-Identifier: AGPL-3.0-only
:iconClass="order.direction === '+' ? 'ti ti-arrow-up' : 'ti ti-arrow-down'"
:exButtonIconClass="'ti ti-x'"
:content="order.key"
:class="$style.sortOrderTag"
@click="onToggleSortOrderButtonClicked(order)"
@exButtonClick="onRemoveSortOrderButtonClicked(order)"
/>
</div>
<MkButton :class="$style.sortOrderAddButton" @click="onAddSortOrderButtonClicked">
<span class="ti ti-plus"/>
<span class="ti ti-plus"></span>
</MkButton>
</div>
</template>
Expand Down Expand Up @@ -109,4 +110,9 @@ function emitOrder(sortOrders: SortOrder<T>[]) {
border-radius: 9999px;
background-color: var(--MI_THEME-buttonBg);
}

.sortOrderTag {
user-select: none;
cursor: pointer;
}
</style>
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkSuperMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export type SuperMenuDef = {
active?: boolean;
action: (ev: MouseEvent) => void;
} | {
type: 'link';
type?: 'link';
to: string;
icon?: string;
text: string;
Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/components/MkTagItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ SPDX-License-Identifier: AGPL-3.0-only

<template>
<div :class="$style.root" @click="(ev) => emit('click', ev)">
<span v-if="iconClass" :class="[$style.icon, iconClass]"/>
<span v-if="iconClass" :class="[$style.icon, iconClass]"></span>
<span :class="$style.content">{{ content }}</span>
<MkButton v-if="exButtonIconClass" :class="$style.exButton" @click="(ev) => emit('exButtonClick', ev)">
<span :class="[$style.exButtonIcon, exButtonIconClass]"/>
<span :class="[$style.exButtonIcon, exButtonIconClass]"></span>
</MkButton>
</div>
</template>
Expand Down
Loading

0 comments on commit 716dee2

Please sign in to comment.